Gestire più chiavi RSA per la connessione sicura tramite ssh

Per collegarsi tramite ssh ad un server si possono utilizzare diversi metodi di autenticazione. Il più comune è quello con password, ma il più sicuro è quello con chiave pubblica. Prima o poi scriverò un articolo su come impostare un server per accettare anche questo tipo di connessioni. Quello che mi preme oggi è scrivere una guida su come gestire chiavi multiple per la connessione a server differenti.

La creazione delle chiavi avviene tramite il seguente comando:

ssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "Chiave per il server di lavoro"
ssh-keygen -t rsa -f ~/.ssh/id_rsa.priv -C "Chiave per il server privato"

E così via. Assicuratevi di utilizzare dei nomi differenti per le differenti chiavi (ossia modificate il valore di ciò che segue l’opzione -f).

A questo punto spostatevi nella directory ~/.ssh e create il file config.

cd ~/.ssh
nano -w config

Adesso siete pronti a popolare il vostro file di configurazione di ssh personale. Alla fine avrà un aspetto simile al seguente:

# Impostazioni ssh per il server di lavoro
Host il.server.del.mio.lavoro.it
IdentityFile ~/.ssh/id_rsa.work

# Impostazioni per il server che gestisco per sport
Host il.server.provato
IdentityFile ~/.ssh/id_rsa.priv

In questo modo ssh sarà in grado di stabilire con precisione quale chiave utilizzare. Se non viene utilizzato nessuno dei server nel file config, ssh cercherà la posizione la chiave di default nella posizione ~/.ssh/id_rsa.