SSH远程连接协议
SSH协议概述
SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安
全。那SSH服务主要功能有哪些呢?
SSH相关的命令
## 1.远程连接命令
ssh root@39.104.203.184 -p 52022
ssh:命令
root:要用哪个用户连接(远端服务器的系统用户)
@:分隔符
39.104.203.184:远端主机的IP
-p:指定ssh的端口
## 2.在远端机器上执行命令,不用连接过去
[root@backup ~]# ssh root@172.16.1.31 'cat /etc/exports'
[root@backup ~]# ssh root@172.16.1.31 'ifconfig'
## 2.远程拷贝(全量)走的是ssh协议
[root@web01 ~]# scp -rp /var/www/html/ root@10.0.0.41:/tmp/
-r:递归拷贝(目录)
-p:保持文件的时间属性
-P:指定端口
-l:限速
SSH的验证方式
创建秘钥对
[root@m01 ~]# ssh-keygen
[root@m01 ~]# ll ~/.ssh/
## 私钥(钥匙)
-rw------- 1 root root 1675 Jul 9 18:48 id_rsa
## 公钥(锁)
-rw-r--r-- 1 root root 390 Jul 9 18:48 id_rsa.pub
## 将公钥发送给被管理端
[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.41
## 被管理端的服务器公钥保存后
[root@backup ~]# ll ~/.ssh/
total 8
-rw------- 1 root root 390 Jul 9 18:53 authorized_keys
-rw-r--r-- 1 root root 555 Jul 9 18:33 known_hosts
ssh-copy-id这个命令都帮我们做了哪些事
# 1.在被管理端创建了一个.ssh目录在家目录下
[root@web02 ~]# mkdir ~/.ssh
# 2.将.ssh目录权限修改为700
[root@web02 ~]# chmod 700 ~/.ssh
# 3.创建公钥存放的文件
[root@web02 .ssh]# vim authorized_keys
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQC9rD6jwAOHKAffRgz/nRVISeqCyieO8pMkDYwE2Oc+U/NrJtAuaiszl0
ND4NGMSOImoCAk/vgUajETApMamjMxLEIswkCL5PzmZHszD0R2sBFuJZ2xagVXForO1kWJkeiv20o7OjgxyRcf
MVnI1I+4EkDn8XAa26aDYGE27qyW0k6wnZoZU3jjRAIAcCAp2d/bef45rf3lw50NOmTU4qMEnl734siflhUhhE
Ur3xDu7urpcd8zLR5kmxgBGuEQVG2FbHaB6+Gn/mjEY8z/lO80b5PPAFqjaH3V4v09S7UDn9jhuiIfghtvqL7z
Ery4O2v17Tj4h+6vYX/z6QxZbVkj root@m01
# 4.修改公钥存放文件的权限
[root@web02 .ssh]# chmod 600 ~/.ssh/authorized_keys
SSH场景实践
SSH优化
[root@m01 ~]# vim /etc/ssh/sshd_config
## 端口
17 Port 6666
## 允许root登录
38 PermitRootLogin no
## 允许密码登录
65 PasswordAuthentication no
## GSS接口认证
79 GSSAPIAuthentication no
## 使用DNS的反向解析
115 UseDNS no
## 重启ssh服务
[root@m01 ~]# systemctl restart sshd