¿Debo generar nuevas claves privadas SSH para cada máquina con la que trabajo?

13

Espero que este sea un lugar apropiado para hacer esta pregunta. Recientemente he estado pensando en claves públicas y privadas, y me pregunto cuáles son las mejores prácticas relacionadas con la administración de mis propias claves privadas personales. Específicamente, si regularmente uso tres computadoras diferentes (escritorio personal, computadora de trabajo, computadora portátil), junto con otras con un uso más ocasional, ¿cuál es la mejor manera de usar las claves privadas?

Actualmente genero un nuevo par de claves en cada computadora que estoy usando, luego termino agregándolas a authorized_keys cuando las necesito. ¿Es esta la mejor manera de hacerlo o debería estar usando un solo par de claves y copiarlo en todas las computadoras que uso? Supongo que la pregunta es, ¿debería usarse mi par de claves para identificarme "yo" o para identificarme "yo en la computadora X"?

    
pregunta Ryan 11.10.2015 - 17:47
fuente

5 respuestas

10

La pregunta es un poco confusa. Según tengo entendido, está preguntando acerca de iniciar sesión en un servidor, a través de SSH configurado con PubKeyAuthentication , desde cualquiera de sus tres máquinas.

Debería generar un par de claves para cada máquina. De esta manera, si una clave privada se ve comprometida, no tiene que volver a generar un par de claves en las tres máquinas desde las que inicia sesión. De hecho, desea identificarse (en el servidor) como "usted en la computadora X".

Si estaba usando PGP, debería usar un par de claves único para identificarse (ante otros usuarios de PGP) como "usted".

    
respondido por el dr01 11.10.2015 - 18:24
fuente
3

Cada par de llaves representa una identidad . A veces puede ser útil tener una identidad diferente en cada máquina que use, pero a veces puede ser útil compartir una identidad entre dispositivos.

Cuando tenga una clave separada para cada dispositivo, entonces:

  • Sus socios de comunicación necesitan tener las claves públicas de todos sus dispositivos y necesitan una verificación de que es usted (puede proporcionar esta última firmando las claves de todos los dispositivos con las claves de todos los demás dispositivos). Esto se vuelve bastante engorroso cuando compra un nuevo dispositivo.
  • Sus compañeros de comunicación saben desde qué dispositivo envía un mensaje, lo que reduce su privacidad.

Cuando utiliza las claves solo para fines privados, por ejemplo, para iniciar sesión en su propio servidor, tener una clave separada para cada dispositivo tiene la ventaja de que, si una clave se compromete, solo tiene que revocar esa clave y no usarla. t tiene que reemplazar la llave en cada dispositivo que posea. Pero el costo de esto es una mayor sobrecarga de administración: para agregar un nuevo dispositivo, debe iniciar sesión con un dispositivo antiguo para agregar la nueva clave pública. Con una clave compartida, solo necesita copiar la clave en el nuevo dispositivo.

    
respondido por el Philipp 12.10.2015 - 11:01
fuente
1
  

¿Es esta la mejor manera de ir, o debería estar usando un solo par de teclas y   ¿Lo copio en todas las computadoras que uso?

Como @ dr01 resaltó los riesgos, debería usar una sola clave por computadora.

  

si mi par de claves se usa para identificarme "yo" o para identificarme a mí en X   computadora "?

Cualquier contraseña o sistema de autenticación basado en clave solo identifica el conocimiento del secreto o clave y no del usuario.

  

El problema con el uso de una contraseña para la autenticación es que   no prueba que la persona que inicia sesión es usted. Todo lo que prueba es que   sepa su contraseña ( enlace ).

Por lo tanto, una clave nunca lo identifica, solo identifica si un usuario (usted en la computadora X o cualquiera en la computadora Y) tiene la clave.

    
respondido por el Dr. mattle 12.10.2015 - 00:33
fuente
1

Considera también la idea de usar un dispositivo de hardware. Una NEO de YubiKey puede almacenar una clave GPG y gpg-agent puede usarla para autenticarla en cualquier servidor exactamente como un archivo ~ / identity normal.

Hay un tutorial para usar gpgkey2ssh y gpg -agente para configurar esto.

    
respondido por el Jeff Ferland 12.10.2015 - 03:10
fuente
-3

No es necesario generar un nuevo par de claves para cada máquina. Solo necesita importar las claves actuales en todas las máquinas.

Si genera tres nuevos pares de claves, sus contactos se confundirán para elegir.

    
respondido por el Amin 11.10.2015 - 17:57
fuente

Lea otras preguntas en las etiquetas