My setup is a vagrant box whose provisioning is provided by ansible. I have 
set up ssh agent forwarding from my local/host machine to the vagrant box 
so that the user 'vagrant' can perform `git clone` on a private bitbucket 
repo, which is configured to perform ssh key authentication.

To verify that the ssh agent forwarding works, I ssh'ed to the vagrant box 
with the user 'vagrant' and I was able to perform `git clone` on the 
mentioned remote repo, without setting up the required private key in the 
vagrant box itself.

However, when ansible performs the same task via the git module it fails 
with "*Permission denied (publickey)"* error

The play/task:
- name: Set up source
  hosts: appserver
  tasks:
    - name: Git | Clone private repo from bitbucket
      git:
        repo="[email protected]:someuser/somerepo.git"
        dest=/home/vagrant/example

The verbose output for the task:
TASK: [Git | Clone private repo from bitbucket] **************** 
<192.168.55.139> ESTABLISH CONNECTION FOR USER: vagrant
<192.168.55.139> REMOTE_MODULE git repo=
"[email protected]:someuser/somerepo.git" dest=/home/vagrant/example
<192.168.55.139> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 'ForwardAgent=yes', 
'-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 
'ControlPath=/Users/windbottle/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 
'StrictHostKeyChecking=no', '-o', 'Port=22', '-o', 
'IdentityFile=/Users/windbottle/.vagrant.d/insecure_private_key', '-o', 
'KbdInteractiveAuthentication=no', '-o', 
'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
'-o', 'PasswordAuthentication=no', '-o', 'User=vagrant', '-o', 
'ConnectTimeout=10', '192.168.55.139', "/bin/sh -c 'mkdir -p 
$HOME/.ansible/tmp/ansible-tmp-1399490355.47-128414001438969 && chmod a+rx 
$HOME/.ansible/tmp/ansible-tmp-1399490355.47-128414001438969 && echo 
$HOME/.ansible/tmp/ansible-tmp-1399490355.47-128414001438969'"]
<192.168.55.139> PUT /var/folders/l2/22zwjkz106vdwz1846jp7d0w0000gn/T/tmpp_JWyh 
TO /home/vagrant/.ansible/tmp/ansible-tmp-1399490355.47-128414001438969/git
<192.168.55.139> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 'ForwardAgent=yes', 
'-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 
'ControlPath=/Users/windbottle/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 
'StrictHostKeyChecking=no', '-o', 'Port=22', '-o', 
'IdentityFile=/Users/windbottle/.vagrant.d/insecure_private_key', '-o', 
'KbdInteractiveAuthentication=no', '-o', 
'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
'-o', 'PasswordAuthentication=no', '-o', 'User=vagrant', '-o', 
'ConnectTimeout=10', '192.168.55.139', "/bin/sh -c '/usr/bin/python 
/home/vagrant/.ansible/tmp/ansible-tmp-1399490355.47-128414001438969/git; 
rm -rf 
/home/vagrant/.ansible/tmp/ansible-tmp-1399490355.47-128414001438969/ 
>/dev/null 2>&1'"]
failed: [B612] => {"cmd": ["/usr/bin/git", "ls-remote", 
"[email protected]:someuser/somerepo.git", "-h", "refs/heads/HEAD"], 
"failed": true, "item": "", "rc": 128}
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.

According to the above output, 'ForwardAgent=yes' is indeed there, so I 
can't comprehend why the error. 

Calling on experts to shed some light on this issue. Thanks.

-- 
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/3eb54ed6-30ca-47dd-b4dd-6396ef5bf223%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to