Ansible测试主机失败

时间:2017-06-14 05:56:25

标签: ansible

刚开始使用Ansible。我像这样配置了hosts文件:

[webserver]
<remote-server-ip> ansible_user=<user> ansible_private_key_file=<full-path-to-private-ssh-key>

当我跑步时:

ansible all -m ping

我明白了:

<remote-server-ip> | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Couldn't read packet: Connection reset by peer\r\n",
"unreachable": true

如果我跑,我可以连接没有问题:

ssh -i <full-path-to-private-ssh-key> <user>@<remote-server-ip>

注意:

  1. SSH密钥上没有密码。
  2. 该项目位于~/my_project_name
  3. 我也尝试使用ansible_connection=local,虽然ansible all -m ping似乎有效,但实际上它所做的只是允许我执行修改Ansible正在运行的主机的任务。
  4. ansible.cfg文件尚未修改,但它位于不同的目录中:/etc/ansible/ansible.cfg

3 个答案:

答案 0 :(得分:1)

默认情况下,Ansible尝试通过ssh连接到localhost。对于localhost,请在下面显示的hosts文件中将ansible_connection设置为local。

<remote-server-ip> ansible_connection=local ansible_user=<user> ansible_private_key_file=<full-path-to-private-ssh-key>

有关详细信息,请参阅this文档。

希望这有帮助!

答案 1 :(得分:0)

我想我之前看过这个,您可以尝试在hosts文件中添加以下内容,看看是否有效

      ansible_connection=ssh ansible_port=22

答案 2 :(得分:0)

我发现这是我使用的Ansible版本(2.3.1)的问题。使用版本2.2.0.0没有问题。