¿Es seguro almacenar una contraseña cifrada con una clave SSH en git?

6

Tengo un montón de servidores que necesitan acceder a datos un tanto sensibles (contraseñas para ftps, api keys, etc.). Actualmente copio un archivo de texto sin formato de un lado a otro entre los servidores a través de ssh y cifro todas las claves basadas en la clave privada de ssh del servidor, pero estoy buscando una solución más sólida que a) otras personas puedan hacer yb) no No requiere tanto trabajo manual. Lo que estoy pensando, y me gustaría recibir comentarios sobre:

  • Cree una clave privada compartida, protegida con una frase de contraseña segura
  • Cifre todas las contraseñas necesarias con esta clave, almacene esas claves en un archivo de configuración
  • Cuando aparezca un nuevo servidor, copie la clave ssh, elimine la frase de contraseña

¿Algún problema con esto? La clave privada cifrada con contraseña será accesible "públicamente", es decir, para todos en la compañía.

    
pregunta zyklus 14.02.2015 - 06:21
fuente

2 respuestas

2

Lea sobre Kerberos y desarrolle una estrategia para implementar Kerberos en su empresa.

ssh tiene integración con Kerberos a través de GSSAPI (es posible que deba reconstruir ssh.)

Kerberos solucionará sus problemas de administración de claves y sus API deberían ajustarse a sus propias API.

¿Por qué sugiero ir por el camino de Keberos?

Debido a que muchas de las actividades que está realizando suenan exactamente como problemas que Kerberos ya ha resuelto (fase de acceso segura, administración de claves, etc.)

Kerberos es la solución más robusta que busca.

    
respondido por el fubar 14.02.2015 - 14:46
fuente
1

parece que buscas una solución como fabric

  

tl; dr: control remoto para un conjunto automatizado de comandos que se ejecutan a través de ssh

"Fabric es una biblioteca de Python (2.5-2.7) y una herramienta de línea de comandos para agilizar el uso de SSH para la implementación de aplicaciones o tareas de administración de sistemas.

Proporciona un conjunto básico de operaciones para ejecutar comandos de shell locales o remotos (normalmente o por medio de sudo) y cargar / descargar archivos, así como funcionalidades auxiliares, como solicitar al usuario que se ejecuta la ejecución o cancelar la ejecución. "

    
respondido por el that guy from over there 14.02.2015 - 13:13
fuente

Lea otras preguntas en las etiquetas