当在Ansible中使用SSH连接到主机时,有时可能会遇到“SSH用户/密码无效参数”的错误,即使用户名和密码已正确提供。这通常是因为对端主机不可达导致的。以下是一个解决方法,它通过指定SSH连接的超时参数来避免此问题。
在Ansible的配置文件(通常是/etc/ansible/ansible.cfg)中,添加以下参数:
[ssh_connection] ssh_args = -o ConnectTimeout=10
这会将SSH连接的超时时间设置为10秒,即使主机不可达,Ansible也会在超时之后跳过该主机。如果需要更改超时时间,可以将“10”替换为所需的秒数。
接下来,尝试使用ping模块测试主机可达性,并查看结果:
ansible all -m ping
如果主机仍然不可达,请确保在主机和Ansible控制节点之间存在网络连接,并且防火墙允许SSH连接。如果问题仍然存在,请将错误消息和日志文件提供给Ansible社区以帮助解决问题。