本文介绍CentOS服务器双向免密码登录
原理:
(这里两台机器以主机1、主机2表示,这里两台机器是对等的)
若主机1想要免密码登录主机2,需要主机2能够识别自己,这里就是通过公钥和私钥去识别的。
在主机1上生成公钥和私钥,将其公钥传到主机2,这样当主机1登录到主机2的时候,主机1可以凭借着私钥让主机2认识自己
操作:
- 前提:
所有服务器/etc/ssh/sshd_config文件的以下三行未被注释
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
举例:
两台服务器:192.168.1.100
192.168.1.102
免密码登录是分用户的,以下以root用户为例进行说明,.ssh目录是在每个用户的家目录下。
- 步骤:
- 登录192.168.1.100。
执行命令“ssh-keygen -t rsa”,一路回车到底。将会在目录/root/.ssh/下生成私钥id_rsa和公钥id_rsa.pub。 - 将本机的公钥id_rsa.pub追加到192.168.1.102的authorized_keys文件中。
这个时候从192.168.1.100登录到192.168.1.102就不需要密码了。
若要实现双向的,继续执行以下步骤:
登录到192.168.1.102 执行上面相似的步骤即可。
- 注意事项:
修改完/etc/ssh/sshd_config文件后需要重启sshd服务
追加公钥到服务器的authorized_keys中,千万不要覆盖。
.ssh目录的权限为700,authorized_keys的权限为600。