¿Es una mala idea usar la misma clave ssh privada en varias computadoras?

35

Recientemente compré una computadora portátil desde la cual necesito acceder a los mismos hosts remotos que hago desde mi escritorio. Se me ocurrió que podría ser posible simplemente copiar el archivo de clave privada de mi escritorio a mi computadora portátil y evitar tener que agregar una nueva clave a los ~/.ssh/authorized_keysarchivos en todos los hosts a los que quiero acceder. Entonces mis preguntas son:

  1. ¿Es esto posible?
  2. ¿Hay implicaciones de seguridad no obvias?
  3. A veces, iniciaré sesión en mi escritorio desde mi computadora portátil. Si se usara la misma clave, ¿causaría algún problema?
Jason Creighton
fuente
2
Sospecho que te refieres a las claves autorizadas, a los hosts no conocidos. El primero es para entrantes, el segundo para salientes.
Matthew Schinckel
Buena atrapada. Fijo.
Jason Creighton el

Respuestas:

29

Si, esto es posible. Su clave privada no está vinculada a una sola máquina.

No estoy seguro de lo que quieres decir con no obvio, que a menudo es subjetivo;). No es una mala idea en absoluto si te aseguras de tener un conjunto de frases de contraseña muy fuerte, de 20 caracteres como mínimo.

No hay problemas para conectarse con la misma clave que su escritorio. Configuraría un agente ssh para su clave en la computadora portátil y lo reenviaría al escritorio, por lo que usará esa clave en otros sistemas a los que acceda desde allí.

Desde la página de manual de ssh-agent en un sistema Linux:

ssh-agent es un programa para contener claves privadas utilizadas para la autenticación de clave pública (RSA, DSA). La idea es que ssh-agent se inicie al comienzo de una sesión X o una sesión de inicio de sesión, y todas las demás ventanas o programas se inician como clientes del programa ssh-agent. Mediante el uso de variables de entorno, el agente se puede ubicar y usar automáticamente para la autenticación al iniciar sesión en otras máquinas usando ssh (1).

Ejecutaría esto en su computadora portátil, ya sea el programa ssh-agent en Linux / Unix (viene con OpenSSH) o con el agente puTTY si está utilizando Windows. No necesita que el agente se ejecute en ningún sistema remoto, simplemente mantiene su clave privada en la memoria del sistema local, por lo que solo tiene que ingresar su frase de contraseña una vez, para cargar la clave en el agente.

El reenvío de agente es una característica del cliente ( ssho masilla) ssh que simplemente persiste al agente a través de la conexión ssh a otros sistemas.

jtimberman
fuente
1
No entiendo muy bien lo que estás sugiriendo con respecto al reenvío de agente ssh. ¿Podrías dar más detalles sobre ese punto? Debo mencionar que no puedo contar con que siempre se pueda acceder al escritorio cuando necesito usar mi computadora portátil.
Jason Creighton el
Actualizó la respuesta :)
jtimberman
10

Solía ​​usar una sola clave privada en todas mis máquinas (y en algunas de ellas solo soy usuario, no administrador), pero recientemente cambié esto. Funciona con una clave, pero significa que si necesita revocar la clave (si está comprometida), deberá cambiarla en todas las máquinas.

Por supuesto, si un atacante obtiene acceso y puede ingresar a otra máquina, puede obtener la clave de esa máquina, y así sucesivamente. Pero me hace sentir un poco más seguro saber que puedo revocar solo una tecla y bloquear esa máquina. Sin embargo, sí significa que necesito eliminar la clave del archivo autorizado_claves.

Matthew Schinckel
fuente
Lamentamos necro una publicación antigua, pero ¿cree que esto se mitigaría cifrando su clave privada con una contraseña? O, en su caso, ¿la contraseña también se vio comprometida?
Thirdender
1
Probablemente se mitigaría al tener una frase de contraseña en la clave. Sin embargo, en la actualidad, probablemente podría usar el reenvío ssh (usando un agente), y luego solo tener una clave por máquina real que use, y en realidad tenerla protegida con contraseña.
Matthew Schinckel