ansible en modo maestro la tarea de git falla mientras que git clone funciona en el server remoto

Estoy usando Ansible para clonar un repository en un server remoto:

Este command funciona en el server remoto: git clone git@github.com:ansible/ansible-examples.git

Esta tarea, sin embargo, falla:

 - name: clone git repo git: repo=git@github.com:ansible/ansible-examples.git dest=/root/ansible-examples clone=yes 

Con el siguiente resultado:

¡HA FALLADO! => {"changed": false, "cmd": "/ usr / bin / git ls-remote '' -h refs / heads / HEAD", "failed": true, "msg": "Permiso denegado (publickey) . \ r \ nfatal: no se pudo leer desde el repository remoto. \ n \ nAsegúrese de tener los derechos de acceso correctos \ ny el repository existe. "," rc ": 128," stderr ":" Permiso denegado (key pública). \ r \ nfatal: no se pudo leer desde el repository remoto. \ n \ nAsegúrese de tener los derechos de acceso correctos \ ny el repository existe. \ n "," stdout ":" "," stdout_lines ": []}

Tengo una situación similar (ssh y la clonación funciona con CLI, pero no la tarea) con un repository de git privado que puedo clonar en el server remoto (mediante reenvío ssh) pero falla con la misma tarea.

También tengo lo siguiente en mi ansible.cfg :

 [defaults] transport = ssh # deprecation_warnings = False # In case it matters get the following [DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and make sure become_method is 'sudo' (default). [ssh_connection] ssh_args = -o ForwardAgent=yes 

Nota: Estoy usando ansible desde mi computadora portátil OSX, a un control remoto de Ubuntu. La versión es ansible 2.1.0.0 .

¿Cómo hago para que esta tarea clone el repository git?

Editar

No estoy seguro de lo que eso significa, pero el siguiente tampoco funciona (y lo mismo en la console funciona):

 - name: clone git repo shell: if [[ ! -d /root/ansible-examples ]] ; then echo "CLONING" && git clone git@github.com:ansible/ansible-examples.git /root/ansible-examples ; else echo "already there" ; fi args: chdir: /root/ creates: /root/ansible-examples/ 

Otro bash:

 shell: git clone git@github.com:ansible/ansible-examples.git /root/ansible-examples 

¡HA FALLADO! => {"changed": true, "cmd": "git clone git@github.com: ansible / ansible-examples.git / root / ansible-examples", "delta": "0: 00: 00.693890", " end ":" 2016-06-08 20: 57: 47.505574 "," failed ": true," rc ": 128," start ":" 2016-06-08 20: 57: 46.811684 "," stderr ":" Clonación en '/root/ansible-examples'…\nPermission denied (publickey). \ R \ nfatal: No se pudo leer en el repository remoto. \ N \ nAsegúrese de tener los derechos de acceso correctos \ ny el repository existe. "," stdout ":" "," stdout_lines ": []," advertencias ": [" Considere usar el module git en lugar de ejecutar git "]}

Resulta que no tenía el mismo usuario de ssh en CLI y ansible. La edición del file de host lo solucionó: http://docs.ansible.com/ansible/intro_inventory.html

Específicamente ansible_user y ansible_connection .