Clonación del repository privado de GitHub con Ansible

Tengo un libro de estrategias de Ansible que toma la key pública (que está presente en mi máquina fuente) y la copy en el nuevo server remoto ya que esta key ya está agregada a mi count github.

- name: send key to remote deploy user copy: src=/home/vagrant/code/id_rsa dest=home/priv_key owner=root group=root mode=0600 - name: Clone repo git: repo: git@github.ncsu.edu:rcoutin/BOT.git dest: home/app key_file: ../priv_key accept_hostkey: yes force: yes become: no 

Sin embargo, la tarea de reposition de clon falla y me dice que el permiso es 0644 para la key SSH y puede ser visto por otros que no es aceptado.

Establecí el modo en 0600 en la tarea de enviar key, pero todavía dice que es 0644.

¿Alguna ayuda sobre cómo solucionar esto?

En primer lugar , es una práctica terrible duplicar keys privadas, peor todavía dejarlas esparcidas en máquinas no protegidas. Lea y siga: Uso del reenvío de agente SSH .


Con respecto al problema en la pregunta (que nunca debería aparecer si usó el reenvío de agente SSH), se equivoca descaradamente en su comentario :

la aplicación / home está en una carpeta llamada / home / app en la máquina remota y ../priv_key está en el directory principal de / app

Si especifica key_file: ../priv_key largo de dest: home/app , el ejecutable de Git searchá el file priv_key no en el " padre del directory / app ", sino en el directory principal del padre (donde aparentemente tiene otra copy de private_key con permissions incorrectos).

¿Alguna ayuda sobre cómo solucionar esto?

No use routes relativas, especialmente si no está seguro de lo que está haciendo y no está dispuesto a solucionarlo usted mismo.


Además, si limita el acceso a la priv_key para priv_key al usuario, como lo hace en su primera tarea, no podrá leerla con el usuario vagrant en el segundo (que especifique explícitamente con become: no ).