在nodea中登录nodeb:
验证登录:
这种登录方法同上:
ssh root@172.25.254.200
ssh -X 开启图形
ssh - f 后台运行 - o 指定连接参数 ssh - l root @172.25.254.x -o "StrictHostKeyChecking = no" 首次连接不需要输入 yes 在企业中不是每台主机都能直接连上另一台主机,有时需要先连上一台主机当跳板,然后才能连上目标主机: - t 指定连接跳板 ssh - l root 172.25.254.1 -t ssh - l root 172.25.254.105 (2)当连接因为认证问题被拒绝时解决方案nodea登录后,在nodea的~/.ssh目录中会有记录文件,其中有key的信息:
在nodeb的/etc/ssh/目录也会有记录文件,其中有key的信息:
然后把记录文件删掉:
此时重启sshd服务,删掉的记录文件又自动生成了,但是新的key和之前的key不一样:
此时在nodea退出登录后再重新连接会发生下图的报错:
因为本机持有的服务器上的key和服务器中的key无法配对,导致了此报错出现
解决办法:
根据提示只需要把~/.ssh/known_hosts这个文件中的第一行删掉,然后重新用ssh命令登录服务器主机nodeb就可以重新接收key然后成功登录了
2.sshd key认证 (1)认证类型 I.对称加密 加密和解密是同一串字符 容易泄漏 可暴力破解 容易遗忘 II .非对称加密 加密用公钥,解密用私钥 不会被盗用 攻击者无法通过无密钥方式登陆服务器 (2)生成非对称加密密钥 方法 1: ssh-keygen设定完成后,会在/root/.ssh/生成私钥id_rsa和公钥id_rsa.pub
方法2: ssh-keygen -f /root/.ssh/id_rsa -P "" 指定保存密钥的目录和密钥内容(这里设置密钥内容 为空) (3)对主机加密生成非对称加密密钥后对某个主机的某个用户(服务器)进行加密:
这里对nodeb上的root用户进行加密:
登录nodeb验证加密:
只有刚才生成加密密钥的主机才能免密登录被加密过的主机
加密方法其实是把生成加密密钥的主机上的公钥复制到被加密主机上了:
复制过去后被存放在authorized_key这个文件中:
(4)关闭密码认证
没法通过输入密码登录到另一台主机:
进入这个文件进行编辑:
把这里从yes改成no:
修改保存完后一定要重启sshd服务:
测试:
登录被拒绝,无密钥的主机将无权输入密码
3.sshd 安全优化参数详解 需要先做如下操作: setenforce 0 systemctl disable -- now firewalld 关闭防火墙
(1)设置登录端口:
在/etc/ssh/sshd_config 这个文件中把登录端口修改为2222:
过滤显示端口信息:
测试:
不输入端口被拒绝登录,只有输入端口才能登录
(2)限制root用户登录
还是在刚才的sshd设置文件中,把这里从yes改成no
root用户被禁止使用sshd服务的认证
测试:
登录root用户被拒绝,登录普通用户可以正常登录
(3)用户黑名单
还是在刚才的sshd配置文件中,在这里写上黑名单用户(若没有则需添加)
测试:
登录Lee用户成功
登录黑名单用户westos被拒绝:
(4)用户白名单还是在sshd配置文件中,在这里添加用户白名单:(若没有则需添加)
测试:
登录白名单用户才能成功,无法登录其他普通用户



