一、免密登录
1.在 RockyLinux101 主机执行 ip addr 查看网卡信息,确认 ens160 网卡 IP 为 192.168.1.101/24,ens192 网卡 IP 为 192.168.0.101/24

2.在 RockyLinux102 主机执行 ip addr 查看网卡信息,确认 ens160 网卡 IP 为 192.168.1.102/24,ens192 网卡 IP 为 192.168.0.102/24

3.在 RockyLinux103 主机执行 ip addr 查看网卡信息,确认 ens160 网卡 IP 为 192.168.1.103/24,ens192 网卡 IP 为 192.168.0.103/24

4.在 RockyLinux101 主机执行 ping 192.168.0.102 -c 3 与 ping 192.168.0.103 -c 3,验证三台主机网络连通性正常

5.在 RockyLinux102 主机首次执行 ssh root@192.168.0.101,确认主机指纹并登录,退出会话后查看 ~/.ssh/known_hosts 文件,验证指纹已记录

6.在 RockyLinux101 主机查看 /etc/ssh/ 目录,列出 ssh_host_ed25519_key.pub、ssh_host_rsa_key.pub 等公钥文件,并查看文件内容和 RockyLinux102 主机上 ~/.ssh/known_hosts 文件内容一样

7.在 RockyLinux102 主机再次执行 ssh root@192.168.0.101,无需再次确认指纹即可直接输入密码登录,验证已知主机指纹功能生效

8.在 RockyLinux103 主机执行 ssh-keygen -t rsa -b 2048,生成 RSA 类型的公钥 / 私钥对,生成后查看 ~/.ssh/ 目录与公钥文件内容

9.在 RockyLinux103 主机执行 ssh-copy-id root@192.168.0.101,将本地公钥推送至目标主机,完成免密登录配置

10.在 RockyLinux101 主机查看 ~/.ssh/authorized_keys 文件,确认已写入 RockyLinux103 的公钥,验证免密配置成功

11.在 RockyLinux103 主机执行 ssh root@192.168.0.101,无需输入密码即可直接登录,验证免密登录配置成功

12.在 Xshell 客户端中点击顶部菜单栏【工具】,选择【主机密钥管理器】,进入主机密钥管理界面

13.在主机密钥管理器中选中 192.168.0.101 的主机密钥,点击【删除】,清除本地存储的主机指纹

14.在 Xshell 中输入 ssh root@192.168.0.101,重新发起连接

15.连接时弹出 SSH 安全警告,提示未知主机密钥,显示指纹与哈希信息,选择【接受并保存】

16.在 SSH 用户身份验证窗口中输入登录密码,点击【确定】,完成主机指纹重新确认并成功登录

17.再次在 Xshell 中点击【工具】→【主机密钥管理器】

18.确认 192.168.0.101 的主机密钥已重新记录

二、禁止root用户远程登陆
1.在 RockyLinux101 主机执行 vim /etc/ssh/sshd_config,打开 SSH 服务主配置文件

2.在 sshd_config 文件中查看配置项,确认 Include 语句引用了 /etc/ssh/sshd_config.d/ 目录下的配置文件

3.在 RockyLinux101 主机执行 cd /etc/ssh/sshd_config.d/ 进入配置目录,查看目录文件并执行 vim ./01-permitrootlogin.conf,编辑 root 登录控制配置文件

4.在 01-permitrootlogin.conf 文件中设置 PermitRootLogin no,禁止 root 用户通过 SSH 登录,保存退出配置文件

5.执行 systemctl reload sshd.service 重载 SSH 服务配置,使 root 登录控制策略生效

6.在 RockyLinux102 主机尝试执行 ssh root@192.168.0.101,输入密码后提示 Permission denied,验证 root 登录已被禁止

7.在 RockyLinux101 主机再次执行 vim ./01-permitrootlogin.conf,重新编辑 root 登录控制配置文件

8.将 PermitRootLogin no 修改为 PermitRootLogin yes,恢复 root 用户 SSH 登录权限,保存退出配置文件

9.再次执行 systemctl reload sshd.service 重载 SSH 服务配置,使修改后的 root 登录策略生效

10.在 RockyLinux102 主机重新执行 ssh root@192.168.0.101,输入密码后成功登录,验证 root 登录权限已恢复

三、修改sshd服务本地监听IP和监听端口
1.在 RockyLinux101 主机执行 ip addr 查看网卡信息,执行 ss -antp|grep ":22" 查看 SSH 服务监听状态,确认服务在 22 端口正常监听

2.在 RockyLinux101 主机执行 vim /etc/ssh/sshd_config,再次打开 SSH 服务主配置文件,准备修改其他配置项

3.在 RockyLinux101 的 sshd_config 文件中,修改 Port 为 2603、ListenAddress 为 192.168.1.101,保存退出配置文件

4.执行 systemctl reload sshd.service 重载 SSH 配置,使用 ss -antp|grep "sshd" 查看服务状态,确认服务在 2603 端口监听

5.在 RockyLinux102 上尝试用 22 端口连接失败,改用 ssh root@192.168.1.101 -p 2603 连接,确认指纹后登录成功

6.再次使用 ss -antp|grep "sshd" 查看 SSH 服务,确认 192.168.1.101:2603 有来自 RockyLinux102 的连接记录

四、不允许root密码登录,只能密钥登陆
1.在 RockyLinux101 主机执行 vim /etc/ssh/sshd_config,再次打开 SSH 主配置文件

2.在 sshd_config 文件中设置 PasswordAuthentication no,禁用密码登录,仅允许密钥认证,保存退出配置文件

3.执行 systemctl reload sshd.service 重载 SSH 配置,查看 /root/.ssh/authorized_keys 文件,确认已写入 RockyLinux103 的公钥

4.在 RockyLinux102 主机执行 ssh root@192.168.1.101 -p 2603,因密码登录已被禁用,连接提示 Permission denied

5.在 RockyLinux103 主机执行 ssh root@192.168.1.101 -p 2603,无需密码即可通过密钥认证登录,验证免密登录功能正常
