SSH(Secure Shell)是一种用于在网络上进行安全远程登录和管理的协议。通过SSH免密设置,可以免除在每次通过SSH连接服务器时输入密码,从而提高便利性和安全性。
生成密钥对
首先,需要在两台Linux系统(A和B)上分别生成RSA密钥对。在A系统上执行以下命令:
bash
ssh-keygen -t rsa -b 4096
输入密码并确认,将生成私钥(id_rsa)和公钥(id_rsa.pub)。
复制公钥到服务器
将A系统的公钥(id_rsa.pub)复制到B系统的授权密钥文件中(~/.ssh/authorized_keys):
bash
ssh-copy-id -i ~/.ssh/id_rsa.pub root@b-ip-address
输入B系统的密码。如果不存在~/.ssh/authorized_keys文件,它会自动创建。
设置权限
确保~/.ssh和authorized_keys文件的权限正确:~/.ssh应为700,authorized_keys应为600。
测试免密登录
从A系统连接到B系统,不再需要输入密码:
bash
ssh root@b-ip-address
如果成功连接,则SSH免密设置已完成。
其他说明
以上设置仅适用于两台Linux系统之间的免密登录。如果需要在多个系统之间实现免密登录,可以采用密钥代理(如ssh-agent)或集中密钥管理系统(如OpenSSH CA)。