Come si possono usare più chiavi private con ssh?


58

Sono stato in grado di configurare ssh per utilizzare l'autenticazione con chiave pubblica / privata. Ora sono in grado di fare

ssh user@server1

E accede con la chiave privata. Ora voglio collegarmi a un altro server e utilizzare una chiave diversa. Come configurarlo così

ssh user@server1

usa privatekey1

ssh user@server2

e usa privatekey2


7
Nessun vero motivo: uno è un mito personale e l'altro è un server di lavoro e non volevo usare la mia chiave di casa al lavoro.
Giosuè,

nessuna delle risposte sembra rispondere al quesiton completo, ad esempio, come creare chiavi diverse privatekey1 e privatekey2
jpwynn,

Risposte:


49

Ci sono alcune opzioni

  1. Carica entrambe le chiavi nel tuo agente ssh usando ssh-add. Quindi entrambe le chiavi saranno disponibili quando ci si connette a entrambi i server

  2. Crea il tuo $HOME/.ssh/configfile e crea una Hostsezione per server1 e un'altra per server2. In ogni Hostsezione, aggiungi IdentityFileun'opzione che punta al file della chiave privata appropriato


2
ssh agent è stata una grande idea, anche se ho sia i file delle chiavi pubbliche che private, ovvero key1 e key1.pub, in ~ / .ssh li caricherà automaticamente.
Giosuè,

57

Puoi configurarlo nel tuo ~/.ssh/configfile. Avresti qualcosa del genere:

Host server1
IdentityFile ~/.ssh/key_file1

Host server2
IdentityFile ~/.ssh/key_file2

man ssh_config è un riferimento


4
È inoltre possibile specificare Userper ogni host di ridurre i tasti. Infine, quando stai generando una nuova chiave SSH per ciascun host, ssh-keygenassicurati di inserire effettivamente un percorso chiave alternativo.
Marco Ceppi

C'è un'opzione per specificare una chiave predefinita, come dire host x ->key1e poi il resto degli hostkey2
azerafati,

Sì, usa sh Host * e aggiungi i valori predefiniti, quindi sostituisci van. Inoltre: in sh man_ssh_config particolare la parte nella sezione "Host" per quanto riguarda l'asterisco '*' e il punto esclamativo '!'
immeëmosol,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.