| FAILED! => {
“msg”: “Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host’s fingerprint to your known_hosts file to manage this host.”
}
怎么解決?
-
首先,使用ssh連接到目標主機,并接受指紋。命令如下:
ssh <username>@<target_host>
當提示是否接受該主機的指紋時,輸入yes。
-
然后,將目標主機的指紋添加到known_hosts文件中。可以使用以下命令實現:
ssh-keyscan -H <target_host> >> ~/.ssh/known_hosts
-
確保known_hosts文件位于正確的位置(通常在用戶的.ssh目錄下),然后再次嘗試連接到目標主機。
如果你想使用SSH密鑰認證代替SSH密碼認證,可以按照以下步驟操作:
-
生成SSH密鑰對。在本地機器上執行以下命令:
ssh-keygen -t rsa
這將生成一個RSA密鑰對,默認會保存在~/.ssh目錄下。
-
將公鑰添加到目標主機的authorized_keys文件中。你可以使用以下命令執行:
ssh-copy-id <username>@<target_host>
輸入密碼后,你的公鑰將被添加到目標主機的authorized_keys文件中。
-
再次連接到目標主機時,SSH將使用密鑰進行身份驗證,而不需要密碼。
最后可以編輯 vi /etc/ansible/ansible.cfg
消除注釋
結果