環境說明
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