多台计算机之间利用ssh实现无密码登录

在《Crontab中使用scp令命自动备份文件》中说到了关于一对一、多对一的ssh的无密码登录,如果想要多台服务器相互无密码访问,与两台服务器单向无密码访问的原理是一样的,关键点是每个机器上都存在内容相同authorized_keys文件,且这个文件保存每台机器的公钥。

1、在每台机器上执行:ssh-keygen -t  rsa  之后一路回车,产生密钥、公钥
2、在第一台机器的目录.ssh下复制公钥文件并重命名为authorized_keys,注意,名字必须是“authorized_keys”
   cat  id-rsa.pub >> authorized_keys
3、然后将第一台机器的.ssh目录下面的authorized_keys文件拷贝到第二台计算机的.ssh目录下,
   如:scp /root/.ssh/authorized_keys [email protected]:/root/.ssh/
4、再转到第二台机器的.ssh目录下,会发现刚刚传输过来的文件-authorized_keys,然后执行复制命令,将第二台计算机的公钥也加进来,如:cat id-rsa.pub >> authorized_keys.
   cat  id-rsa.pub >> authorized_keys
5、将第二台计算机新生成的authorized_keys传输第三台计算机,将第三台计算机的公钥-id-rsa.pub添加到从第二台计算机传过来的authorized_keys里面。
6、依次类推,直至集群中的最后一台计算机。
7、在集群的最后一台计算机执行完添加后,生成的authorized_keys文件就包含集群中所有计算机的公钥,如果以后还有机器加进到集群中来,可以直接添加到文件-authorized_keys。最后,将最后生成的authorized_keys复制到集群中的每一台计算机的.ssh目录下,覆盖掉之前的authorized_keys。
8、每台机器上的authorized_keys访问属性改为755
   [root@xxx root]#chmod 600 /root/.ssh/authorized_keys
9、每台机器上执行shh-add
   [root@xxx root]#shh-add
10、每台机器测试shh其他机器。

问题点
1、当在机器A测试ssh B,ssh C时,需要用不同的终端,不能在同一个终端下ssh不同IP;
2、当发现无法ssh时,使用ssh -vv (你的主机名),查看是否存在问题,如果存在,打开/etc/hosts文件,修改为正确的主机名。

你可能感兴趣的:(多台计算机之间利用ssh实现无密码登录)