简体   繁体   中英

Ansible SSH ERROR connection in localhost

I have this error when I launch my playbook against the localhost host.

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

And my hosts file have this config:

[local]
127.0.0.1

What is the problem?

Thanks!

Ansible by default tries to connect through ssh. For localhost you should set the connection to local .

You can define this when calling the playbook:

ansible-playbook playbook.yml --connection=local

Define it in your playbook:

- hosts: local
  connection: local

Or, preferable, define it as a host var just for localhost/127.0.0.1. Create a file host_vars/127.0.0.1 relative to your playbook with this content:

ansible_connection: local

You also could add it as a group var in your inventory:

[local]
127.0.0.1

[local:vars]
ansible_connection=local

or as a host var:

[local]
127.0.0.1   ansible_connection=local

See Behavioral Parameters in docs .

What works for me is not including the localhost in the inventory and only specifying it in the hosts pattern.

ie hosts: localhost

This seems to imply local connection to ansible

It could be done way more easier.

Under the [defaults] section of the ansible.cfg file, just paste the following line:

transport = local

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM