Hi, I'm trying to fire ansible from cron job and am failing as --private-key directive doesn't seem to have effect. I can replicate the issue from CLI as well. So to illustrate:
$ ssh -i /home/ansible/.ssh/id_rsa_ansible_key [email protected] hostname server.com $ /usr/bin/ansible-playbook --private-key=/home/ansible/.ssh/id_rsa_ansible_key -u root -t info -i inventory my_playbook.yml PLAY [web] ******************************************************************** GATHERING FACTS *************************************************************** fatal: [server.com] => SSH Error: muxserver_listen bind(): Permission denied while connecting to 1.2.3.4:22 It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue. TASK: [task1 | retrieve info] ************************** FATAL: no hosts matched or all hosts have already failed -- aborting I have also tried to launch with more verbose output, from which I get: ssh -C -tt -vvv -o ControlMaster=auto -o ControlPath=%r-%h-%p -o StrictHostKeyChecking=no -o Port=22 -o IdentityFile="/home/ansible/.ssh/id_rsa_ansible_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 server.com /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1434052273.15-260807475369322 && echo $HOME/.ansible/tmp/ansible-tmp-1434052273.15-260807475369322 so apparently it's attempting to pass proper file to SSH, but somehow it doesn't work? So I ran above ssh command (shortened a bit): $ ssh -C -tt -vvv -o ControlMaster=auto -o ControlPath=%r-%h-%p -o StrictHostKeyChecking=no -o Port=22 -o IdentityFile="/home/ansible/.ssh/id_rsa_ansible_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 server.com .... debug1: Offering public key: /home/ansible/.ssh/id_rsa_ansible_key debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug3: Wrote 368 bytes for a total of 1645 debug1: Server accepts key: pkalg ssh-rsa blen 277 debug2: input_userauth_pk_ok: SHA1 fp <key fingerprint> debug3: sign_and_send_pubkey: RSA <key fingerprint> debug1: read PEM private key done: type RSA debug3: Wrote 640 bytes for a total of 2285 debug1: Enabling compression at level 6. debug1: Authentication succeeded (publickey). .... debug3: muxserver_listen: temporary control path root-server.com-22.sGN6uqisXSNkH0PM muxserver_listen bind(): Permission denied Note, that when I launch same playbook from my user account with my key file preloaded - no issues. So it is not that key authentication doesn't work with Ansible, it's the --private-key that introduces something that breaks connection, now what? -- 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/e9dbed1d-13cc-42de-9134-22556c9812d5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
