¿Cómo debo administrar una clave ssh segura y personal?

14

Necesito tener una clave ssh personal tal que:

  • Puedo hacer una copia de seguridad de un solo archivo que contiene mi clave privada y restaurarlo cuando hago una nueva instalación.
  • La clave privada nunca se almacena en forma no encriptada en ningún lugar, incluido el archivo que respaldo y restauro, pero con la excepción necesaria de mi RAM mientras la uso.
  • Alguien con acceso físico a mi máquina no necesariamente puede usar mi clave privada. Debería solicitarme que ingrese una contraseña antes de que funcione, preferiblemente la contraseña de mi cuenta de usuario.
  • No es necesario hacer una copia de seguridad de la clave pública. Debería poder generar eso a partir de la clave privada (pero es posible que necesite información suficiente para descifrarlo).

Sé que hay muchos recursos que explican cómo usar las herramientas de administración de claves ssh. Sin embargo, los encuentro bastante complejos, y he demostrado que no puedo guardar mi clave privada cuando hago nuevas instalaciones en el pasado. Así que preferiría escuchar algunas de las mejores prácticas de alguien con experiencia haciendo exactamente lo que quiero hacer.

Vincent Povirk
fuente

Respuestas:

9

Pasando por tus puntos:

  • Cuando genera una clave SSH, se almacena ~/.ssh/como id_rsa(o id_dsa). Puede mover esto de una máquina a otra como lo desee.

  • Puede garantizar su cifrado cifrando /home/. Hay varios conjuntos de instrucciones sobre cómo hacer esto en Internet, pero (nunca lo he hecho yo mismo) honestamente no puedo sugerir uno sobre otro. El de UbuntuForums parece tan bueno como cualquier otro. Hacer esto en una instalación nueva es más fácil (puede hacerlo en el instalador) pero no es obligatorio.

  • Cuando genere su par de claves, asegúrese de establecer una frase de contraseña. Esto significa que incluso si alguien obtiene su clave privada, aún necesita ese token para usarlo.

  • ssh-keygen -egenerará su hash de clave pública a partir de su clave privada. Sí, no necesita respaldar eso (aunque tampoco sería difícil de hacer, está almacenado como ~/.ssh/id_rsa.pub).

Oli
fuente
¿Establecer una frase de contraseña no cuenta como cifrar la clave?
Vincent Povirk
@Vincent Más o menos, claro. No estoy seguro de cuán paranoico estás tratando de estar aquí. Si desea minimizar la posibilidad de que alguien más obtenga la clave, péguelo dentro de una partición cifrada. Si está contento con que las personas puedan obtenerlo (si obtienen acceso físico), pero no puede usarlo sin una frase de contraseña, puede omitir ese paso.
Oli