题 在localhost中Ansible SSH ERROR连接


当我针对localhost主机启动我的playbook时出现此错误。

TASK [setup] *******************************************************************
fatal: [127.0.0.1]: UNREACHABLE! => {"changed": false, "msg": "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", "unreachable": true}
to retry, use: --limit @deploy-test-env.retry

PLAY RECAP *********************************************************************
127.0.0.1                  : ok=0    changed=0    unreachable=1    failed=0

我的hosts文件有这个配置:

[local]
127.0.0.1

问题是什么?

谢谢!


14
2018-05-12 10:48


起源


您是否遵循了错误消息中的建议,如果是,那么详细输出是什么? - Alex K.


答案:


默认情况下,Ansible尝试通过ssh连接。对于localhost,您应该将连接设置为 local

你可以在调用playbook时定义它:

ansible-playbook playbook.yml --connection=local

在你的剧本中定义它:

- hosts: local
  connection: local

或者,最好将其定义为localhost / 127.0.0.1的主机var。创建一个文件 host_vars/127.0.0.1 相对于您的剧本与此内容:

ansible_connection: local

您还可以将其添加为广告资源中的组var:

[local]
127.0.0.1

[local:vars]
ansible_connection=local

或作为主机var:

[local]
127.0.0.1   ansible_connection=local

看到 docs中的行为参数


42
2018-05-12 11:52



谢谢!这有效! - Miguel


对我有用的不包括清单中的localhost,只在hosts模式中指定它。

即hosts:localhost

这似乎意味着与ansible的本地联系


0
2017-07-27 20:43