CH-J Server Managergestione server su SSH
Menu
Tutte le guide e gli articoli →

Chiave host SSH cambiata: cosa significa l’avviso e cosa fare

Scopri perché un server presenta una nuova chiave host, verificala tramite un altro canale e sostituisci in sicurezza la voce salvata.

Cosa indica l’avviso

Un server dimostra la propria identità con una chiave host. Quando la chiave è diversa da quella salvata in precedenza dal client, OpenSSH mostra REMOTE HOST IDENTIFICATION HAS CHANGED e rifiuta la connessione. Il client non può distinguere una modifica innocua da un attacco, quindi considera l’avviso irrisolto finché non hai effettuato la verifica.

Cause comuni

Le cause abituali sono un server reinstallato, una VM ripristinata o clonata da un’immagine, un indirizzo ora assegnato a un’altra macchina e un bilanciatore di carico che ti indirizza verso nodi diversi. Un aggressore che intercetta la connessione provoca lo stesso avviso. Se non ti aspettavi un cambiamento, fermati e non inserire una password.

Confronta le impronte

Leggi l’impronta reale sul server tramite un canale che non dipenda da questa connessione SSH, come la console del fornitore o quella dell’hypervisor. Il comando ssh-keyscan mostra solo ciò che la rete ti presenta, quindi da solo non dimostra nulla. È utile soltanto per il confronto con il valore ottenuto dalla console.

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -

Sostituisci la vecchia voce

Solo dopo aver verificato che le impronte coincidono, rimuovi la vecchia voce e connettiti di nuovo. Una porta non standard ha una voce separata scritta con parentesi quadre. ssh-keygen conserva il file precedente come known_hosts.old. Non disabilitare StrictHostKeyChecking e non eliminare l’intero file known_hosts, perché rimuoveresti la protezione per tutti i tuoi server.

ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.example

Evita l’avviso dopo una reinstallazione

Se prevedi di ricostruire un server e vuoi mantenerne l’identità, salva in modo sicuro una copia delle chiavi host in /etc/ssh e ripristinale con lo stesso proprietario e gli stessi permessi. Con i cloni fai il contrario: ogni macchina creata da una stessa immagine deve avere chiavi host proprie, altrimenti più server condividono un’unica identità.

Chiavi host in CH-J Server Manager

L’app conserva le impronte SHA-256 delle chiavi host nel proprio archivio cifrato, separatamente dal file known_hosts di OpenSSH. Quando una chiave cambia, blocca la connessione e mostra l’impronta nota e quella nuova. La voce viene sostituita solo con la tua conferma e l’annullamento non cambia nulla. In Alpha 0.1.1 la verifica riguarda anche ogni jump host e un trasferimento in corso si interrompe quando la chiave cambia. L’app non può verificare la nuova impronta al posto tuo, quindi il controllo tramite un altro canale resta un tuo compito.

Documentazione dettagliata

OpenSSH: ssh →

OpenSSH: ssh-keygen →

Sblocco biometrico e sicurezza →