实现多机相互免密码ssh

当我们在配置多台计算,使之可以相互使用无密码ssh登录,之前都是一台一台的配置。先在一台A上添加B,然后在另一台B上再次添加A,这样使得authorized_keys中的内容相同,但时并不是完全相同,比如添加顺序.如果超过2台,这种配置就相当复杂了,而且容易出错.后来,在网上看到了一种简单的配置,所有机器只需配置一遍即可.但是考虑到安全问题,生产线上就不要这么做了!

1.安装ssh,安装完成后会在家目录(当前用户主目录,即这里的/home/linuxcluster)下产生一个隐藏文件夹 .ssh (ls -a 可以查看隐藏文件).如果没有这个文件,那就自己新建即可(cd ~;mkdir .ssh).

2.进入.ssh目录下面,在每台机器上执行:ssh-keygen -t rsa 之后一路回车即可,这步是生成密钥;

3.完成第二步后.ssh 目录下会产生两个文件:
id-rsa #私钥
id-rsa.pub #公钥

4.在第一台机器的目录.ssh下执行命令,cat id-rsa.pub >> authorized_keys;此后.ssh目录下面会出现authorized_keys文件.

5.然后将第一台机器的.ssh目录下面的authorized_keys文件拷贝到第二台计算机的.ssh目录下:scp authorized_keys linuxcluster@cloud002:~/.ssh/.

6.再转到第二台机器的.ssh目录下,会发现刚刚传输过来的文件 authorized_keys,然后执行命令,将第二台计算机的公钥也加进来:cat id-rsa.pub >> authorized_keys.

7.将第二台计算机新生成的authorized_keys传输第三台计算机,将第三台计算机的公钥 id-rsa.pub 添加到从第二台计算机传过来的 authorized_keys 文件内.

8.依次类推,直至集群中的最后一台计算机.

9.在集群的最后一台计算机执行完添加后,生成的authorized_keys文件就包含集群中所有计算机的公钥,如果以后还有机器加进到集群中来,可以直接添加到文件 authorized_keys中.最后,将最后生成的authorized_keys复制到集群中的每一台计算机的 .ssh 目录下,覆盖掉之前的authorized_keys.

10.完成第九步后,就可以在集群中任意一台计算机上,免密码ssh登录到其他计算机.

坚持原创技术分享,您的支持将鼓励我继续创作!