Recientemente comencé a jugar con Ansible y parece muy agradable. No tengo mucha experiencia en DevOps y nunca tuve que manejar escenarios complejos. Comencé a crear mi libro de jugadas Ansible para reemplazar mi herramienta de implementación actual: Deployer PHP. Desafortunadamente, estoy atrapado en la clonación del repositorio de git. Ahora, sé que necesito una clave pública agregada para permitir el acceso al repositorio de git y aquí viene mi pregunta.
¿Debo usar el reenvío de agente SSH (de esta manera puedo usar mis claves SSH locales) o debo almacenar la clave SSH privada (encriptada, agregada al control de origen) dentro de mi proyecto ansible y copiarla usando Ansible en mi nodo objetivo? Sé que la pregunta puede ser muy amplia, así que lo que me interesa son las implicaciones de seguridad de ambos enfoques.
Puede escribir su clave privada en una circunstancia: si configura su repositorio de modo que solo permita el acceso de lectura para esa clave en particular, y no se preocupe por la legibilidad pública del repositorio. En este caso, puede almacenar fácilmente su clave privada; obviamente, cree una clave desechable sin frase de contraseña. Pero como dije, solo si está bien con el acceso público a ese repositorio.
Si ese no es el caso, entonces probablemente esté atrapado con el agente SSH. No es ideal, ya que
root
puede tomar el zócalo, pero si se encuentra en una especie de entorno benevolente (es decir, no hay un servidor web atacable en ningún lugar cercano), entonces debería estar bien.fuente