Uso de claves privadas SSH en el entorno de producción

2

Tengo la necesidad de enviar un montón de archivos desde una caja de producción a mi entorno de desarrollo. Soy un desarrollador y tengo acceso de lectura limitado a las máquinas de producción. En lugar de ingresar la contraseña para cada archivo, quería crear un par de llaves en producción y almacenar la clave pública en authorized_keys en mi máquina dev.

La clave es para mi inicio de sesión LDAP en producción. ¿Es esto seguro? ¿Puede algo salir mal aquí? Gracias.

Las máquinas de producción no están orientadas a la web. Las máquinas se encuentran en los centros de datos de la empresa y se "supone que" solo son accesibles desde la red corporativa.

    
pregunta pslk 23.09.2014 - 14:18
fuente

1 respuesta

2

Si está haciendo esto para evitar la introducción de contraseñas, eso implica que ejecutará un agente SSH en Producción o que mantendrá una clave privada sin cifrar allí. Si es lo último, entonces los administradores de Producción tendrán acceso a su caja de desarrollo.

Pero si estoy leyendo entre líneas correctamente, está utilizando este enfoque como una solución alternativa porque no puede agregar su clave de desarrollo a authorized_keys en Producción. En ese caso, hay una mejor manera de obtener lo que quieres.

Si está utilizando OpenSSH, puede evitar ingresar la contraseña varias veces, incluso con acceso basado en contraseña, mediante el uso compartido de la conexión SSH. Una vez que haya configurado esto, usted SSH en el servidor normalmente en una ventana, escribiendo su contraseña como de costumbre. En otra ventana, realiza su copia y su cliente SCP encuentra y utiliza la conexión existente sin necesidad de ingresar una contraseña.

Para configurar esto:

$ mkdir ~/.ssh/cm_socket

Y agregue lo siguiente a su ~/.ssh/config :

ControlMaster auto
ControlPath ~/.ssh/cm_socket/%C
ControlPersist no

Después de esto, SSH y SCP buscarán una conexión compartida de forma predeterminada. Si quieres establecer una segunda conexión no compartida por algún motivo, puedes agregar -S none a tu línea de comando.

Para más información:

  • man ssh_config y busque ControlMaster, ControlPath y ControlPersist
  • enlace
  • enlace
respondido por el Jander 06.05.2015 - 17:34
fuente

Lea otras preguntas en las etiquetas