ansible的SSH連接問題


問題描述:

在ansible安裝完畢后一般需要以SSH的方式連接到需要進行管理的目標主機,一開始遇到了如下問題:

# ansible -m ping all

10.200.xx.xx | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true }

問題原因很簡單,沒有在ansible管理節點(即安裝ansible的節點)上添加目標節點(即需要管理的節點)的ssh認證信息。


 

解決步驟:

1:管理節點生成SSH-KEY(如果已生成過直接跳過本步驟)

ssh-keygen

成功后在~/.ssh/路徑下將生成ssh密鑰文件:id_rsa及id_rsa.pub

 

2:添加目標節點的SSH認證信息

ssh-copy-id root@目標節點IP

這里root是在目標節點上登錄的用戶,@符號后面接目標節點IP即可,之后會提示輸入目標節點root用戶密碼,輸入即可。

添加認證信息后,目標節點主機的~/.ssh/目錄下將會出現一個authorized_keys文件,里面包含了ansible管理節點的公鑰信息,可以檢查一下是否存在。

 

3:在確定目標主機的SSH認證信息都已正確添加且目標主機的~/.ssh/目錄都存在管理節點的公鑰信息后,再執行之前出錯的ansible ping指令:

ansible -m ping all

這次的信息即為正確信息:

10.200.40.xx | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
10.200.50.xx | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
10.200.50.xx | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM