嗨,我最近在 centos 7 上安装了 ansible 来管理远程服务器。我尝试使用 ansible 和 ssh 连接到服务器,并尝试使用命令“ ansible -m ping all”对服务器进行 ping 操作,但我收到一条错误消息,提示“
"Failed to connect to the host via ssh: ssh: connect to host 176.16.21.138 port 22: Connection timed out",
"unreachable": true "
我试过关闭防火墙,但毫无作用。我发布了一张使用 -vvv 选项执行 anisble 命令时收到的错误消息的图片/
但是我可以使用 ssh 命令手动连接到服务器。但 ansible 不起作用。 此处为带有 -vvv 的错误消息图像
答案1
您的-vvv
输出显示 Ansible 使用参数运行-o ConnectTimeout=10
。
有几个原因可能导致 SSH 连接时间超过 10 秒,例如,SSH 服务器尝试查找连接客户端的主机名是一个常见的罪魁祸首,这会花费一些时间。
检查手动连接 SSH 会话所需的时间,如果时间太长,则有两种可能性:
- 检查是什么花费了这么长时间并解决该问题
- 增加
ConnectTimeout
Ansible 设置的值
第一个解决方案应该是首选。