Gestire chiavi SSH

Gestire chiavi SSH

Vi è mai capitato di dover reinstallare un server linux o di cambiare le sue chiavi SSH? Fatto questo una volta che accedete nuovamente via ssh il vostro client vi notificherà che la chiave è differente.

In questo articolo vi descriverò come gestire queste chiavi.

La prima volta che vi collegate ad un server ssh verrà mostrata una schermata in cui dovrete accettare la chiave simile alla seguente:

user@server:~$ ssh server2
The authenticity of host 'server2 (192.168.0.2)' can't be estab lished.
ECDSA key fingerprint is SHA256:etnl7CKnHq0z9af5UNp8PK6XmLf7nPk3u4+ZlheniAC.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server2' (ECDSA) to the list of know n hosts.

Al termine del primo login una copia della chiave viene salvata nel file ~/.ssh/known_host. Ogni utente del sistema ha la sua copia personale (root compreso).

In primo luogo cancellare il file rimuoverà tutte le chiavi salvate e in caso di nuovo collegamento dopo il cambio delle chiavi occorrerà solamente accettare come se fosse la prima volta.

Questa procedura però non è consigliata se si hanno molte chiavi (soprattutto per ragioni di sicurezza). Pertanto esistono due comandi che fanno al caso vostro.

Il comando di seguito vi mostrerà la chiave e la entry associata ad un determinato host presente nel file ~/.ssh/known_host:

 # ssh-keygen -H -F <hostname or IP address>

Il comando di seguito vi permetterà di eliminare la chiave associata ad un determinato host.

 # ssh-keygen -R <hostname or IP address>

In questo modo potrete rimuovere e aggiornare solo le chiavi di cui siete certi essere stato effettuato un upgrade.

Alla prossima

Share this content: