Ansible 部署的时候提示错误 SSH password instead

在使用 Ansible 部署的时候提示:

fatal: [*.*.*.*]: 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 到服务器上的时候,SSH 会提示是否需要保存 key,这个时候我们需要选择 Yes 或者 No。

但,Ansible 是不具备输入参数的能力的。

因此我们需要将 host_key_checking 这个配置设置为 False。

配置文件

配置文件位于:/etc/ansible/ansible.cfg

因此我们可以对这个文件进行编辑。


添加上面的参数后重新部署。

近日重新部署的时候也遇到了同样的问题。

编辑文件:sudo nano /etc/ansible/ansible.cfg

添加内容:

[defaults]
host_key_checking = false

能解决上面的错误。

错误的日志信息为:

PLAY [apply common configuration to all nodes] *********************************

TASK [Gathering Facts] *********************************************************
fatal: [54.39.157.60]: 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."}

PLAY RECAP *********************************************************************
54.39.157.60               : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0