Centos系统下建立多机互信

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hmxz2nn/article/details/87293788

主要介绍在Centos操作系统下,通过ssh的一些命令,建立多个主机间的互信。

假设有三台主机,主机名(也可以使用相应的IP来执行)分别为node1,node2,node3。若没有建立主机间的互信,当在多个主机之间通过su命令进行切换时,需要输入密码。而建立互信后,切换时就无需再输入密码。

不止是root用户可以建立互信,其他用户也可以进行。

方法1

方法步骤如下:
1.生成密钥(以在node1上操作为例)
命令:ssh-keygen -t rsa
对于提示,一路按回车即可

2.将生成的密钥文件拷贝到要建立互信的主机
如:ssh-copy-id -i ~/.ssh/id_rsa.pub node2

3.执行ssh,查看是否免密成功
如:ssh node2
第一次登陆时,需要输入密码认证,后续登陆,将会免密。

后续将node1上生成的密钥文件拷贝到node3,建立与node3主机的互信。
同理,在node2,node3上生成秘钥文件,并分别将其拷贝到node1,node3 与node1,node2上。

另外一种方法:

1.分别在node1,node2,node3上生成密钥文件。

2.仍然以node1上的操作为例,收集所有的待建互信主机的公钥,写入到本机的known_hosts文件中。
如收集node1的公钥:

ssh-keyscan -t rsa node1 >> ~/.ssh/known_hosts

收集node2,node3的公钥与此类似:

ssh-keyscan -t rsa node2 >> ~/.ssh/known_hosts

ssh-keyscan -t rsa node3 >> ~/.ssh/known_hosts

3.将node1上的互信文件拷贝到node2,node3。
执行scp命令。

scp -r .ssh node2:~

scp -r .ssh node3:~

4.通过ssh连接,验证是否成功建立互信。

补充:
当远程登录主机时,提示Host key verification failed.
原因是:主机子系统每次成功ssh连接远程操作,都会把你每个你访问过计算机的公钥(public key)都记录在主机的目录/Users/.ssh/known_hosts下,当下次访问相同子机服务器时,会核对公钥。如果公钥不同,会发出警告,避免你受到DNS Hijack之类的攻击。
可以查看本地主机中known_hosts中的公钥是否存在问题。

参考:
https://www.cnblogs.com/IcarusYu/p/8621699.html

猜你喜欢

转载自blog.csdn.net/hmxz2nn/article/details/87293788