环境说明
192.168.157.101 vms001 RHEL7.1
192.168.157.102 vms002 RHEL7.1linux
vms001服务器操做
1.vms001生成公钥私钥
命令执行成功,会在~/.ssh目录下生成2个文件
id_rsa.pub为公钥文件,现实生活中至关于锁
id_rsa 为私钥文件,现实生活中至关于钥匙服务器
2.借用ssh-copy-id工具把公钥上传到vms002服务器,实现无密码登陆ssh
[root@vms001 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.157.102 #公钥上传到对方服务器
上传完成后在vms002上的/root/.ssh/authorized_keys文件中,就会保存vms001的公钥信息,authorized_keys文件会自动建立,以下:
[root@vms002 ~]# cat /root/.ssh/authorized_keys
再次使用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这个私钥文件
ide
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对多台服务器的同时操做。3d