# ansible requiring ansible\_ssh\_pass

**URL:** <https://forum.ansible.com/t/ansible-requiring-ansible-ssh-pass/22451>\
**Category:** Ansible Project\
**Created:** [September 1, 2016, 1:35pm UTC](https://forum.ansible.com/t/ansible-requiring-ansible-ssh-pass/22451 "2016-09-01T13:35:18Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Graham\_O\_Regan](https://avatars.discourse-cdn.com/v4/letter/g/ac8455/32.png) [@Graham\_O\_Regan](https://forum.ansible.com/u/Graham_O_Regan)\
**Post date:** [September 1, 2016, 1:35pm UTC](https://forum.ansible.com/t/ansible-requiring-ansible-ssh-pass/22451/1 "2016-09-01T13:35:18Z")

</div>

I’m running Ansible 2.1.1.0 on OS X 10.11.6 and I’m having a problem that I haven’t had before. The issue the same as outlined in this SO question;

[https://stackoverflow.com/questions/37213551/ansible-ssh-connection-fail](https://stackoverflow.com/questions/37213551/ansible-ssh-connection-fail)

If I don’t put ansible\_ssh\_pass in the inventory file then SSH doesn’t work. I can use any value for that variable and it will be ignored in favour of the SSH cert and everything works, e.g.;

```auto
ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com ansible_ssh_user=ec2-user ansible_ssh_pass=dummy

```

```auto

```

```auto
The problem is that running with that inventory file on Linux fails because the password doesn't match. I've tried quite a few permutations of settings but I can't find something that works on both systems. I haven't had this issue with Ansible before using older versions.

```

```auto

```

```auto
Anyone else having the same issue?

```

```auto

```

```auto
Graham

```

```auto

```

```auto

```

---

<div class="post-metadata">

**Author:** ![Graham\_O\_Regan](https://avatars.discourse-cdn.com/v4/letter/g/ac8455/32.png) [@Graham\_O\_Regan](https://forum.ansible.com/u/Graham_O_Regan)\
**Post date:** [September 1, 2016, 1:45pm UTC](https://forum.ansible.com/t/ansible-requiring-ansible-ssh-pass/22451/2 "2016-09-01T13:45:11Z")

</div>

To provide a bit more detail, if I have this in my inventory file;

```auto
ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com ansible_ssh_user=ec2-user ansible_ssh_pass=dummy

```

And run this;

$ ansible all -i inventory/aws -m ping -vvvv  
No config file found; using defaults  
Loaded callback minimal of type stdout, v2.0  
\<[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com)\> ESTABLISH CONNECTION FOR USER: ec2-user on PORT 22 TO [ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com)  
\<[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com)\> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “`echo $HOME/.ansible/tmp/ansible-tmp-1472737036.6-208605390381784`” && echo ansible-tmp-1472737036.6-208605390381784=“`echo $HOME/.ansible/tmp/ansible-tmp-1472737036.6-208605390381784`” ) && sleep 0’  
\<[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com)\> PUT /var/folders/vt/jn8svt1j333c31rspxhcsb8r0000gp/T/tmpElWP2d TO /home/ec2-user/.ansible/tmp/ansible-tmp-1472737036.6-208605390381784/ping  
\<[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com)\> EXEC /bin/sh -c ‘LANG=en\_GB.UTF-8 LC\_ALL=en\_GB.UTF-8 LC\_MESSAGES=en\_GB.UTF-8 /usr/bin/python /home/ec2-user/.ansible/tmp/ansible-tmp-1472737036.6-208605390381784/ping; rm -rf “/home/ec2-user/.ansible/tmp/ansible-tmp-1472737036.6-208605390381784/” \> /dev/null 2\>&1 && sleep 0’  
[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com) | SUCCESS =\> {  
“changed”: false,  
“invocation”: {  
“module\_args”: {  
“data”: null  
},  
“module\_name”: “ping”  
},  
“ping”: “pong”  
}

Everything works ok, but if i set the inventory to;

```auto
ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com ansible_ssh_user=ec2-user

```

```auto

```

```auto

```

$ ansible all -i inventory/aws -m ping -vvvv  
No config file found; using defaults  
Loaded callback minimal of type stdout, v2.0  
\<[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com)\> ESTABLISH SSH CONNECTION FOR USER: ec2-user  
\<[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com)\> SSH: EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ec2-user -o ConnectTimeout=10 -o ControlPath=/Users/graham/.ansible/cp/ansible-ssh-%h-%p-%r [ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com) ‘/bin/sh -c ‘"’"’( umask 77 && mkdir -p “`echo $HOME/.ansible/tmp/ansible-tmp-1472737048.41-168621408771185`” && echo ansible-tmp-1472737048.41-168621408771185=“`echo $HOME/.ansible/tmp/ansible-tmp-1472737048.41-168621408771185`” ) && sleep 0’“'”‘’  
[ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com](http://ec2-XXX-XXX-XXX-XXX.eu-west-1.compute.amazonaws.com) | UNREACHABLE! =\> {  
“changed”: false,  
“msg”: “Failed to connect to the host via ssh.”,  
“unreachable”: true  
}

It fails 😕

Graham
