linux 2台机器之间建立ssh互信

环境说明
192.168.157.101 vms001 RHEL7.1
192.168.157.102 vms002 RHEL7.1

vms001服务器操作
1.vms001生成公钥私钥
linux 2台机器之间建立ssh互信
命令执行成功,会在~/.ssh目录下生成2个文件
linux 2台机器之间建立ssh互信
id_rsa.pub为公钥文件,现实生活中相当于锁
id_rsa 为私钥文件,现实生活中相当于钥匙

2.借用ssh-copy-id工具把公钥上传到vms002服务器,实现无密码登录

[root@vms001 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.157.102 #公钥上传到对方服务器
linux 2台机器之间建立ssh互信
上传完成后再vms002上的/root/.ssh/authorized_keys文件中,就会保存vms001的公钥信息,authorized_keys文件会自动创建,如下:
[root@vms002 ~]# cat /root/.ssh/authorized_keys
linux 2台机器之间建立ssh互信
再次使用ssh登录,就不需要输入密码了
[root@vms001 ~]# ssh -i /root/.ssh/id_rsa 192.168.157.102 #公钥上传到目标服务器之后,我们可以使用-i参数指定对应的私钥来无密码登录服务器
[root@vms001 ~]# ssh 192.168.157.102 #也可以不使用-i参数,直接使用ssh登录,它直接默认使用的是/root/.ssh/id_rsa这个私钥文件

vms002服务器操作
[root@vms002 ~]# cd ~
[root@vms002 ~]# ssh-keygen -t rsa #同样会生成公钥以及私钥文件
[root@vms002 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.157.101 #上传公钥信息到vms001服务器

至此,vms001和vms002的ssh互信关系,建立完成。这里使用的是root用户创建的互信,也可以使用普通的用户来建立互信。
在使用ansible的时候,我们在ansible服务器上生成公钥和私钥,然后将公钥上传到每一个被管理的服务上,就可以实现ansible服务器无密码登录每一个被管服务器,从而实现ansible对多台服务器的同时操作。

猜你喜欢

转载自blog.51cto.com/2638441/2319850