New to Ansible but I'm really enjoying working with it so far. I've started 
writing a playbook that creates an EC2 instance and then attempts to 
connect to it and configure it. For some reason it's failing to connect, 
even though it appears to be using the correct key and attempting to 
connect as the correct user. It's also using the correct hostname. I turned 
verbose output on and I still don't see what the issue is. Can anyone 
suggest what the issue might be?

I provisioned an EC2 instance and now I want to connect to it:

Here's my play:

    # Configure instances
    - include: configure-ireland.yml  #This just installs a single package, 
httpd, nothing fancy
      vars:
        ansible_ssh_user: ec2-user
        ansible_ssh_private_key_file: keys/eric_eu_west_1.pem

Here's the output of ansible-playbook -vvvvv myplay.yml when it fails to 
connect to my instance via ssh:

    TASK [setup] 
*******************************************************************
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> ESTABLISH SSH 
CONNECTION FOR USER: ec2-user
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> ESTABLISH SSH 
CONNECTION FOR USER: ec2-user
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: ansible.cfg 
set ssh_args: (-o)(ControlMaster=auto)(-o)(ControlPersist=60s)
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> ESTABLISH SSH 
CONNECTION FOR USER: ec2-user
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_PRIVATE_KEY_FILE/private_key_file/ansible_ssh_private_key_file set: 
(-o)(IdentityFile="keys/eric_eu_west_1.p
    em")
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: 
ansible_password/ansible_ssh_pass not set: 
(-o)(KbdInteractiveAuthentication=no)(-o)(PreferredAuthentications=gssapi
    
-with-mic,gssapi-keyex,hostbased,publickey)(-o)(PasswordAuthentication=no)
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_REMOTE_USER/remote_user/ansible_user/user/-u set: 
(-o)(User=ec2-user)
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10)
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: PlayContext 
set ssh_common_args: ()
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: ansible.cfg 
set ssh_args: (-o)(ControlMaster=auto)(-o)(ControlPersist=60s)
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_PRIVATE_KEY_FILE/private_key_file/ansible_ssh_private_key_file set: 
(-o)(IdentityFile="keys/eric_eu_west_1.$
    em")
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: ansible.cfg 
set ssh_args: (-o)(ControlMaster=auto)(-o)(ControlPersist=60s)
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: 
ansible_password/ansible_ssh_pass not set: 
(-o)(KbdInteractiveAuthentication=no)(-o)(PreferredAuthentications=gssap$
    
-with-mic,gssapi-keyex,hostbased,publickey)(-o)(PasswordAuthentication=no)
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_PRIVATE_KEY_FILE/private_key_file/ansible_ssh_private_key_file set: 
(-o)(IdentityFile="keys/eric_eu_west_1.$
    em")
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_REMOTE_USER/remote_user/ansible_user/user/-u set: 
(-o)(User=ec2-user)
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: 
ansible_password/ansible_ssh_pass not set: 
(-o)(KbdInteractiveAuthentication=no)(-o)(PreferredAuthentications=gssap$
    
-with-mic,gssapi-keyex,hostbased,publickey)(-o)(PasswordAuthentication=no)
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10)
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_REMOTE_USER/remote_user/ansible_user/user/-u set: 
(-o)(User=ec2-user)
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: 
ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10)
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: PlayContext 
set ssh_common_args: ()
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: PlayContext 
set ssh_common_args: ()
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: PlayContext 
set ssh_extra_args: ()
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: PlayContext 
set ssh_extra_args: ()
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: found only 
ControlPersist; added ControlPath: 
(-o)(ControlPath=/home/campee/.ansible/cp/ansible-ssh-%h-%p-%r)
    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: found only 
ControlPersist; added ControlPath: 
(-o)(ControlPath=/home/campee/.ansible/cp/ansible-ssh-%h-%p-%r)
    <ec2-54-194-77-121.eu-west-1.compute.amazonaws.com> SSH: EXEC ssh -C 
-vvv -o ControlMaster=auto -o ControlPersist=60s -o 
'IdentityFile="keys/eric_eu_west_1.pem"' -o KbdInte$
    activeAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o User=ec2-user -o ConnectTimeout=10 -o C$
    ntrolPath=/home/campee/.ansible/cp/ansible-ssh-%h-%p-%r 
ec2-54-194-77-121.eu-west-1.compute.amazonaws.com '/bin/sh -c '"'"'( umask 
77 && mkdir -p "` echo $HOME/.ansible/tmp$
    ansible-tmp-1477363326.38-254627066289692 `" && echo 
ansible-tmp-1477363326.38-254627066289692="` echo 
$HOME/.ansible/tmp/ansible-tmp-1477363326.38-254627066289692 `" ) && $sleep 
0'"'"''

    <ec2-54-171-76-221.eu-west-1.compute.amazonaws.com> SSH: EXEC ssh -C 
-vvv -o ControlMaster=auto -o ControlPersist=60s -o 
'IdentityFile="keys/eric_eu_west_1.pem"' -o KbdInte$
    activeAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o User=ec2-user -o ConnectTimeout=10 -o C$
    ntrolPath=/home/campee/.ansible/cp/ansible-ssh-%h-%p-%r 
ec2-54-171-76-221.eu-west-1.compute.amazonaws.com '/bin/sh -c '"'"'( umask 
77 && mkdir -p "` echo $HOME/.ansible/tmp$
    ansible-tmp-1477363326.38-141287772563957 `" && echo 
ansible-tmp-1477363326.38-141287772563957="` echo 
$HOME/.ansible/tmp/ansible-tmp-1477363326.38-141287772563957 `" ) && s
    leep 0'"'"''
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: PlayContext 
set ssh_extra_args: ()
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: found only 
ControlPersist; added ControlPath: 
(-o)(ControlPath=/home/campee/.ansible/cp/ansible-ssh-%h-%p-%r)
    <ec2-54-194-134-79.eu-west-1.compute.amazonaws.com> SSH: EXEC ssh -C 
-vvv -o ControlMaster=auto -o ControlPersist=60s -o 
'IdentityFile="keys/eric_eu_west_1.pem"' -o KbdInter
    activeAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o User=ec2-user -o ConnectTimeout=10 -o Co
    ntrolPath=/home/campee/.ansible/cp/ansible-ssh-%h-%p-%r 
ec2-54-194-134-79.eu-west-1.compute.amazonaws.com '/bin/sh -c '"'"'( umask 
77 && mkdir -p "` echo $HOME/.ansible/tmp/
    ansible-tmp-1477363326.38-145537136827503 `" && echo 
ansible-tmp-1477363326.38-145537136827503="` echo 
$HOME/.ansible/tmp/ansible-tmp-1477363326.38-145537136827503 `" ) && s
    leep 0'"'"''
fatal: [ec2-54-194-77-121.eu-west-1.compute.amazonaws.com]: UNREACHABLE! => 
{"changed": false, "msg": "Failed to connect to the host via ssh.", 
"unreachable": true}


But if I run SSH manually, it works just fine:

    $ ssh -i keys/eric_eu_west_1.pem 
[email protected]
    Warning: Permanently added 
'ec2-54-171-76-221.eu-west-1.compute.amazonaws.com,54.171.76.221' (ECDSA) 
to the list of known hosts.

           __|  __|_  )
           _|  (     /   Amazon Linux AMI
          ___|\___|___|

    https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/
    3 package(s) needed for security, out of 10 available
    Run "sudo yum update" to apply all updates.

My key is chmod 0700: 

    $ ls -l keys/eric_eu_west_1.pem 
    -rwx------ 1 campee campee 1696 Oct 23 21:30 keys/eric_eu_west_1.pem

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/a54a59a1-1832-4a62-8a68-4780309871e5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to