Mi è capitato di recente di dover gestire chiavi RSA differenti per accedere tramite ssh
a server diversi.
Ipotizziamo di dover accedere al server di produzione e al server di test e vogliamo utilizzare chiavi differenti.
Iniziamo con la creazione delle chiavi:
ssh-keygen -t rsa -f ~/.ssh/id_rsa.produzione -b 4096 -C "Chiave per il server di produzione" ssh-keygen -t rsa -f ~/.ssh/id_rsa.testing -b 4096 -C "Chiave per il server di test"
È ovviamente possibile creare altre chiavi, quante ne servono, facendo bene attenzione a modificare il valore del parametro -f
Nota: il parametro -b definisce il numero di bit della chiave. Nell’esempio qui sopra stiamo creando delle chiavi a 4096 bit, il valore di default del comando ssh-keygen
è di 2048 bit.
Adesso bisogna creare (se non esiste) un file di configurazione nella cartella ~/.ssh con il comando
touch ~/.ssh/config
Modifichiamo il file facendolo diventare qualcosa di simile a quanto segue:
# Impostazioni ssh per il server di produzione Host server.produzione.tld IdentityFile ~/.ssh/id_rsa.produzione # Impostazioni ssh per il server di test Host server.testing.tld IdentityFile ~/.ssh/id_rsa.testing
In questo modo, quando invieremo il comando per accedere ad uno dei server, ssh saprà riconoscere quale chiave usare.
Nota: se il server a cui cerchiamo di accedere non è presente nel file di configurazione, ssh cercherà di utilizzare la chiave di default, presente nel percorso ~/.ssh/id_rsa
Spero che queste poche righe vi siano utili, per maggiori informazioni… indovinate un po’…. il manuale! 😉
Commenti recenti