当使用Ansible进行SSH认证时,可能会遇到以下错误信息:“ERROR! SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue”
这个问题可能是因为SSH密钥不正确或Ansible无法找到SSH密钥文件所致。请按照以下步骤解决此问题:
检查SSH密钥是否正确 将ssh命令向目标主机远程连接,核对SSH密钥是否正确。 如果不正确,请重新启动生成新的SSH密钥。
指定SSH密钥路径 在Ansible命令中明确指定SSH密钥路径,而不是使用默认路径。 例如:
ansible-playbook -i hosts.ini --private-key=/path/to/ssh-key playbook.yml
使用SSH代理 如果您使用SSH代理,请确认是否正确配置了Ansible或代理配置是否正确。
降低安全级别(不建议使用) 您可以在Ansible命令中添加“--ssh-common-args='-o StrictHostKeyChecking=no'”来关闭SSH主机密钥检查,以降低安全性。 但是,这不是一种良好的实践方式,因为它将允许不受信任的主机连接到您的系统。
以上是几个解决此问题的方法,其中前三个是最佳实践方法,推荐优先使用。