Estoy reinstalando mi escritorio Linux, ¿cómo mantengo el funcionamiento de los inicios de sesión SSH?

15

Hace mucho tiempo, generé un par de claves usando ssh-keygeny solía ssh-copy-idhabilitar el inicio de sesión en muchas máquinas virtuales de desarrollo sin tener que ingresar manualmente una contraseña. También he subido mi clave pública en GitHub, GitLab y similares para autenticar en repositorios de git usando en git@lugar de https://.

¿Cómo puedo reinstalar mi escritorio de Linux y mantener todos estos inicios de sesión funcionando? ¿Está retrocediendo y restaurando lo ~/.ssh/suficiente?

Chef Tony
fuente
2
Esa es una de las muchas razones por las que cuando instala un nuevo entorno Linux debe tener una partición /y otra para/home
olegario
44
@olegario No estoy de acuerdo. He usado Linux durante la mayor parte de mi vida, y actualmente administro> 100 máquinas, pero siempre he encontrado una /homepartición separada, tanto molesta como de uso limitado. Entiendo que algunas personas lo encuentran útil, y eso está bien, pero de todos modos no creo que sea una ayuda adecuada para la situación de los OP.
marcelm
55
Realmente no hay ninguna ventaja para una partición sobre simplemente hacer una copia de seguridad y restaurarla a /hometravés de tarcualquier otro medio, a menos que planee reutilizar las particiones existentes, lo cual es riesgoso de todos modos con la mayoría de los instaladores del sistema operativo que las borrarán felizmente, a menos que esté en un disco físico separado eliminar durante la instalación.
R .. GitHub DEJA DE AYUDAR AL HIELO
1
Una vez que haya terminado con la reinstalación, no importa cómo lo haga exactamente, es posible que desee reconsiderar tener solo un par de claves para todo.
un CVn

Respuestas:

29

Debe hacer una copia de seguridad de sus claves privadas, como mínimo. No se pueden regenerar sin tener que reemplazar su clave pública en todas partes. Estos normalmente tendrían un nombre que comenzaría id_sin extensión.

Las claves públicas se pueden regenerar con este comando: ssh-keygen -y -f path/to/private/key . Su configuración de usuario (un archivo llamado "config") también podría ser útil si ha establecido valores no predeterminados.

Todos estos archivos normalmente estarían en ~ / .ssh, ¡pero verifique primero!

l0b0
fuente
28

Para conexiones SSH salientes , es suficiente hacer una copia de seguridad de su par de claves. Para su comodidad, puede hacer una copia de seguridad de su ~/.sshdirectorio y restaurarlo en la nueva instalación.

Normalmente, hacer una copia de seguridad y restaurar ese directorio es suficiente, pero es posible almacenar las claves en otro lugar utilizando configuraciones personalizadas en ~/.ssh/configo /etc/ssh/ssh_config, o utilizando un agente SSH y ssh-addrecoger las claves para usar en conexiones salientes desde una ubicación arbitraria .

Si tiene conexiones SSH entrantes , también puede considerar hacer una copia de seguridad de las claves de host SSH en /etc/ssh/ssh_host_*. Si no realiza una copia de seguridad de estos, las nuevas claves de host serán generadas automáticamente porsshd cuando se inicie por primera vez en la nueva instalación, y cualquier conexión SSH entrante mostrará el mensaje "No coinciden las claves de host SSH, ¡alguien puede estar haciendo algo malo!" mensaje de error y generalmente rechaza la conexión a menos que alguien elimine la clave de host anterior en el cliente SSH y acepte explícitamente la nueva.

Parece que es posible que no tenga conexiones SSH entrantes en su sistema de escritorio Linux, por lo que lo menciono solo en aras de la integridad. Pero en los sistemas de servidor, o si tiene una configuración de automatización basada en SSH significativa, reconocer una clave de host modificada podría ser una molestia importante.

telcoM
fuente
1
+1 Esta debería ser la respuesta aceptada. Para iniciar sesión desde otras máquinas, debe mantener la clave del host, generalmente almacenada /etc/ssh, los nombres de archivo son ssh_host_*(varios archivos para diferentes algoritmos).
rexkogitans
2
Tenga en cuenta que si estás sshing en , es posible que desee girar las anfitrionas llaves de todas formas; pero esto depende de su situación de administración de claves (por ejemplo, las claves se generaron por última vez hace años, y aún no las tiene /etc/ssh/ssh_host_ed25519_key, o tiene una clave RSA 1024, o incluso una clave DSS).
Piskvor salió del edificio el