Ssh – Ansible: Permission denied (publickey, password)

ansiblessh

I'm not able to connect to a host in Ansible. This is the error:

192.168.1.12 | UNREACHABLE! => {
"changed": false,
"msg": "ERROR! 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 }

This is my hosts file:

[test]
192.168.1.12

And this is the ad-hoc instruction:

ansible all -m ping

I'm able to connect via raw ssh

Best Answer

The error it returns says it all, the host is unreachable as ssh doesn't work. See what the ping command does in ansible:

ping - Try to connect to host, verify a usable python and return pong on success.

If you can do raw ssh, doesn't ensure ansible can. You need to setup key based ssh or add passowrd option:

ansible all -m ping --ask-pass

When speaking with remote machines, Ansible by default assumes you are using SSH keys. SSH keys are encouraged but password authentication can also be used where needed by supplying the option --ask-pass. If using sudo features and when sudo requires a password, also supply --ask-sudo-pass.

Ref: http://docs.ansible.com/ansible/intro_getting_started.html

Related Topic