¿Cómo se pueden usar varias claves privadas con ssh?

58

Pude configurar ssh para usar la autenticación de clave privada / pública. Ahora soy capaz de hacer

ssh user@server1

Y se conecta con la clave privada. Ahora quiero conectarme a otro servidor y usar una clave diferente. ¿Cómo configurarlo así

ssh user@server1

utiliza privatekey1

ssh user@server2

y usa privatekey2

Joshua
fuente
77
No hay una razón real: una es un mito personal y la otra es un servidor de trabajo y no quería usar mi tecla de inicio en el trabajo.
Joshua
ninguna de las respuestas parece responder a la pregunta completa, por ejemplo, cómo crear diferentes claves privatekey1 y privatekey2
jpwynn

Respuestas:

49

Hay algunas opciones

  1. Cargue ambas claves en su agente ssh usando ssh-add. Entonces, ambas teclas estarán disponibles cuando se conecte a ambos servidores

  2. Cree su $HOME/.ssh/configarchivo y cree una Hostsección para el servidor1 y otra para el servidor2. En cada Hostsección, agregue una IdentityFileopción que apunte al archivo de clave privada apropiado

Fuego supresor
fuente
2
El agente ssh fue una gran idea, también si tengo los archivos de clave pública y privada, es decir, key1 y key1.pub, en ~ / .ssh los cargará automáticamente.
Joshua
57

Puede configurar esto en su ~/.ssh/configarchivo. Tendrías algo como esto:

Host server1
IdentityFile ~/.ssh/key_file1

Host server2
IdentityFile ~/.ssh/key_file2

man ssh_config es una referencia

Rory
fuente
44
También puede especificar Userque cada host reduzca las pulsaciones de teclas. Por último, cuando genere una nueva clave SSH para cada host, ssh-keygenasegúrese de ingresar una ruta de clave alternativa.
Marco Ceppi
¿Hay una opción para especificar una clave por defecto, como decir host x ->key1y luego el resto de los anfitrioneskey2
azerafati
Sí, use sh Host * Y agregue los valores predeterminados, de lo contrario, se agregarán anulaciones debajo. Además: sh man_ssh_config específicamente la parte en la sección "Host" con respecto al asterisco '*' y el signo de exclamación '!'
immeëmosol 19/0318