No se puede clonar el repository bitbucket privado a través de ansible

Tengo las siguientes configuraciones en ansible.cfg

sudo_flags = -H -S -n [ssh_connection] ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s -o ForwardAgent=yes - name: Fetch code from git repo git: repo={{repo_url}} dest={{ proj_path }} version={{ repo_version }} accept_hostkey=yes force=true 

Tenga en count que también tengo las mismas tareas que ejecutar como sudo antes de este

El post de error es:

 Warning: Permanently added the RSA host key for IP address '2401:1d80:1010::150' to the list of known hosts.\r\nPermission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.", "rc": 128, "stderr": "Warning: Permanently added the RSA host key for IP address '2401:1d80:1010::150' to the list of known hosts.\r\nPermission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n", "stdout": "", "stdout_lines": []} 

Ese post de error indica que la key que usa Ansible no tiene permiso para clonar de ese repository de Bitbucket, o que Ansible no está usando la key que debería estar usando. No hay una indicación clara de ese post sobre los problemas que está teniendo, por lo que tendrá que investigar un poco para descubrir qué está pasando.


Primero, pruebe los permissions de la key con ssh -i /path/to/key git@bitbucket.org .

Si obtiene el Permission denied (publickey) key Permission denied (publickey) entonces la key no está asociada a ningún usuario ni se agrega como key de implementación a ningún repository. Agregue la key pública al usuario o repository que lo necesita.

Si obtienes algo como esto,

 logged in as some-username-here. You can use git or hg to connect to Bitbucket. Shell access is disabled. Connection to bitbucket.org closed. 

luego la key está asociada a la count de ese usuario.

Si obtienes algo como esto,

 authenticated via a deploy key. You can use git or hg to connect to Bitbucket. Shell access is disabled. This deploy key has read access to the following repositories: 

luego, la key se agrega como una key de deployment (es decir, de solo lectura) para esos repositorys.


Si los permissions de la key son buenos, entonces el agente de ssh no se está ejecutando o no conoce la key. Intenta actualizar tus ssh_args a algo como esto:

 ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s -o ForwardAgent=yes -i /path/to/key 

Eso obligará a Ansible a conectarse utilizando la key especificada.