假设有A,B两台服务器,我们想让A可以免密登录到B。操作如下:
- A执行 :
ssh-keygen -t rsa
,此时会在 root 用户目录中生成一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。 - 将A主机/root/.ssh目录下的id_rsa.pub文件传送至主机B的tmp目录下,即执行
scp /root/.ssh/id_rsa.pub root@xxx.xxx.xxx.xx:/tmp
- 然后在B上执行如下命令:
cat /home/id_rsa.pub >> /root/.ssh/authorized_keys
,即将主机A的公钥追加到主机B的authorized_keys文件中. - 为了确保连接成功,请保证以下文件权限正确:
chmod 600 authorized_keys
chmod 700 ~/.ssh
- 此时,A即可免密登录到B。
- 如果想让A、B互相都可以免密登录,那么再执行如下操作即可:在B上生成秘钥文件,然后把B的公钥追加到A的authorized_keys中。