SSH è un protocollo di rete sicuro che crea un tunnel crittografato tra i sistemi. Rimane popolare tra gli sviluppatori che hanno bisogno di accesso remoto ai computer senza richiedere un'interfaccia grafica. Sebbene SSH esista da decenni e abbia assistito innumerevoli utenti in modo affidabile, può comunque essere colpito da certi errori.
Molti di questi errori sono diventati noti nella comunità SSH, e le loro soluzioni sono ampiamente documentate. Includono incompatibilità firewall, Problemi di iniezione di chiavi pubbliche SSH, Problemi di modalità chiave file SSH, e l'errore "Avviso: l'identificazione dell'host remoto è cambiata".
Questo errore si verifica su tutti i principali sistemi operativi, inclusi Windows, Linux e macOS. La fonte del problema potrebbe essere un'effettiva preoccupazione di sicurezza piuttosto che un semplice difetto tecnico. In questo articolo spieghiamo perché accade, cosa significa per la sicurezza della tua connessione SSH, e come risolvere il problema su ogni piattaforma principale.
Cosa innesca l'avviso "L'identificazione dell'host remoto è cambiata" (e devi preoccuparti?)
L'avviso "L'identificazione dell'host remoto è cambiata" compare quando la chiave pubblica SSH memorizzata nel tuo known_hosts file non corrisponde alla chiave che il server sta attualmente presentando. Questa discrepanza attiva il meccanismo di sicurezza integrato di SSH per proteggerti da minacce potenziali.
Motivi legittimi per i cambiamenti della chiave host
Ci sono diversi motivi innocenti che spiegano perché la chiave host di un server potrebbe cambiare. A volte vedrai variazioni come "la chiave host RSA è cambiata", a seconda del tipo di chiave specifico utilizzato.

Cambiamenti Relativi al Server:
- Il sistema operativo del server è stato reinstallato o aggiornato
- Il server è stato ricompilato o ripristinato da un backup
- La configurazione SSH del server è stata reimpostata
- La macchina fisica o virtuale è stata sostituita
- Migrazione del server a nuovo hardware
Cambiamenti della Configurazione di Rete:
- I provider cloud riciclano gli indirizzi IP nel tempo, oppure la tua connessione passa attraverso un load balancer.
- DHCP ha riassegnato un indirizzo IP a una macchina diversa
- L'IP di un server dismesso è stato assegnato a un nuovo sistema
- I record DNS sono stati aggiornati per puntare a un server diverso

Azioni di Gestione delle Chiavi:
- Gli amministratori di sistema hanno rigenerato manualmente le chiavi host per motivi di sicurezza
- Il software del server SSH è stato reinstallato
- Le politiche di sicurezza hanno richiesto la rotazione delle chiavi
È importante riconoscere che i cambiamenti delle password utente non influenzano le chiavi host. Questi rappresentano meccanismi di autenticazione separati. Le chiavi host cambiano solo quando il server stesso o la sua configurazione SSH viene modificata.
Quando Prendere l'Avviso sul Serio
Sebbene molti cambiamenti delle chiavi host siano legittimi, questo potrebbe indicare una vera minaccia alla sicurezza. Dovresti preoccuparti se:
- Non hai apportato alcuna modifica al server o non sei a conoscenza di una manutenzione programmata
- Non puoi verificare il motivo del cambio della chiave con l'amministratore del server
- Il server è accessibile su reti pubbliche o connessioni non affidabili
- Stai accedendo a sistemi di produzione o server contenenti dati sensibili

Gli attacchi man-in-the-middle, sebbene relativamente rari, accadono. In questi attacchi, un malintenzionato si posiziona tra il tuo computer e il server legittimo, intercettando tutto il traffico.
Errore umano e l'ingegneria sociale rappresentano il 68% delle violazioni di sicurezza, il che rende la vigilanza essenziale. Puoi proteggere ulteriormente i tuoi sistemi imparando a conoscere la prevenzione degli attacchi brute-force.
Statistiche recenti di IBM mostrano che il costo medio globale di una violazione dei dati era di 4,44 milioni di dollari nel 2025, con tempi di rilevamento medi di otto mesi. Questo spiega perché il meccanismo di verifica della chiave host di SSH esiste e perché non dovresti mai ignorare questi avvisi senza indagare.
Come verificare se l'avviso è legittimo
Prima di procedere alla risoluzione del problema, segui questi passaggi di verifica:

- Chiedi al tuo team: Se condividi l'accesso al server, domanda ai colleghi se hanno apportato modifiche
- Controlla i log del server: Verifica i record di manutenzione o i registri delle modifiche per l'attività recente
- Contatta il tuo provider di hosting: Se usi servizi cloud, verifica se si è verificata una manutenzione
- Usa un canale sicuro: Se possibile, collegati tramite una rete sicura nota per verificare l'impronta digitale
- Confronta impronte: Alcuni provider di hosting visualizzano le impronte digitali attuali di SSH nei loro pannelli di controllo
Se puoi confermare che la modifica della chiave è legittima, puoi procedere tranquillamente a rimuovere la chiave vecchia e accettare quella nuova.
Se vuoi evitare la riassegnazione dinamica degli indirizzi IP o i conflitti delle chiavi host, l'infrastruttura che scegli gioca un ruolo importante.
Cloudzy fornisce Hosting SSH VPS con IP statici dedicati. Esegui i tuoi servizi su processori AMD Ryzen 9 con storage NVMe per l'esecuzione istantanea dei comandi. La nostra rete raggiunge 40 Gbps in 12 sedi globali. Inoltre, includiamo protezione DDoS gratuita per mantenere la tua connessione al sicuro.
Come risolvere l'errore "Remote Host Identification Has Changed"
La soluzione è semplice: rimuovi il vecchio record della chiave dal tuo sistema. Questo elimina la mancata corrispondenza e ti permette di salvare la nuova chiave al prossimo accesso. Consulta la nostra guida su client SSH per altri strumenti.
Inoltre, puoi farlo con un singolo comando o modificando il file manualmente.
Metodo 1: Riga di comando (Il più veloce)
Questo metodo funziona per macOS, Linux e Windows 10+ (usando OpenSSH). È il modo più rapido per risolvere l'errore. Per ulteriori informazioni, puoi consultare la pagina man di ssh-keygen.
- Apri il terminale.
- Esegui questo comando (sostituisci hostname con l'IP o il dominio del tuo server):
ssh-keygen -R hostname
This command automatically finds the old key in your known_hosts file and deletes it. Method 2: Manual File Editing (macOS)
Se preferisci un editor visuale, puoi eliminare la chiave manualmente. Il messaggio di errore di solito ti dice esattamente quale numero di riga rimuovere.
Apri il terminale e modifica il file con Nano:
nano ~/.ssh/known_hosts
Trova la riga dal tuo messaggio di errore. Eliminala, quindi premi Ctrl + X e Y salvare.

Soluzione per Windows
Gli utenti Windows di solito usano il client OpenSSH integrato o PuTTY.
Opzione 1: Windows OpenSSH (Windows 10/11)
Su Windows 10 e 11, OpenSSH è una funzione opzionale. Aggiungila da Impostazioni > App > Funzioni facoltative. Server 2025 include il client, ma devi attivarlo.
Se usi PowerShell o Prompt dei comandi, il ssh-keygen comando del Metodo 1 funziona anche qui.
Per modificare il file manualmente:
- Premi Tasto Windows + R.
- Tipo %USERPROFILE%\.ssh e premi Enter.
- Apri il known_hosts file con Notepad.
- Elimina la riga che causa l'errore e salva il file.
Per gestire correttamente le chiavi, vedi la nostra guida su come generare chiavi SSH in Windows.
Opzione 2: Uso di PuTTY
PuTTY archivia le chiavi nel Registro di Windows anziché in un file.
- Apri l'Editor del Registro (Premi Tasto Windows + R, digita regedit, e premi Enter).
- Vai a: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys\
- Cerca la voce che corrisponde al nome host o all'indirizzo IP del tuo server.
- Fai clic destro e seleziona Elimina.

Soluzione per Linux
Il ssh-keygen comando che abbiamo trattato in Metodo 1 è il metodo standard per risolvere questo su Linux. È veloce e supportato nativamente.
Modifica Manuale
Se preferisci visualizzare il contenuto del file, puoi modificarlo con un editor di testo come Nano.
- Apri il terminale.
- Tipo nano ~/.ssh/known_hosts e premi Enter.
- Trova il numero di riga menzionato nel tuo messaggio di errore.
- Elimina la riga, poi premi Ctrl + X e Y salvare.
Puoi anche usare Vim (vim ~/.ssh/known_hosts) se hai familiarità con esso.

Attenzione sulla disattivazione dei controlli
Puoi forzare SSH a connettersi senza verifica, ma è rischioso. Ignora la protezione contro gli attacchi man-in-the-middle.
Usa questo approccio solo per test locali su reti affidabili. Per macOS e Linux, digita:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]
Se sei su Windows, il percorso Unix non funziona. Devi usare NUL per far funzionare il bypass:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL [email protected]
Non eseguire questi override su connessioni pubbliche o server in produzione.
Correggere le mancate corrispondenze delle chiavi è un'operazione di manutenzione ordinaria, ma puoi fare di più per proteggere la tua connessione. I bot spesso attaccano la porta predefinita 22 con attacchi brute-force. Puoi evitare gran parte di questo rumore di fondo cambiando le porte SSH in Linux con qualcosa di meno prevedibile.

Non usare mai questo metodo per server in produzione o su reti non affidabili.
Come evitare il messaggio "Remote Host Identification Has Changed" la prossima volta
Anche se non puoi sempre evitare i cambiamenti legittimi delle chiavi host, puoi ridurre al minimo le interruzioni e mantenere migliori pratiche di sicurezza.
Guida di riferimento rapido
| Il tuo ruolo | Strategie chiave |
| Amministratori di Sistema | Esegui il backup delle chiavi, documenta le modifiche, usa i certificati e ruota le chiavi regolarmente |
| Utenti Normali | Mantieni l'inventario, verifica attraverso canali sicuri e monitora i log |
| Ambiente Cloud
Utenti |
Usa nomi DNS, sfrutta gli strumenti del provider e implementa l'infrastruttura come codice |

Per amministratori di sistema
Esegui il backup delle host key: Salva le chiavi da /etc/ssh/ prima di reinstallare il sistema operativo. Ripristinale dopo per evitare avvisi ai tuoi utenti.
Documenta le modifiche pianificate: Avvisa gli utenti prima di cambiare le chiavi e condividi i nuovi fingerprint in modo sicuro. Questo consente loro di verificare la connessione.
Usa certificati SSH: I team grandi dovrebbero usare un'autorità di certificazione centrale. Firma le host key e elimina la necessità di verifica manuale.
Implementa la rotazione delle chiavi: Pianifica i cambiamenti delle host key. Gli aggiornamenti prevedibili sono più facili da gestire per il tuo team rispetto a quelli improvvisi.
Per utenti normali
Mantieni un Inventario: Mantieni un registro personale dei fingerprint del server o usa la documentazione sicura del tuo team.
Verifica attraverso canali indipendenti: Conferma le chiavi rispetto a una fonte affidabile come la console cloud, non messaggi informali.
Monitoraggio Log: Controlla regolarmente i log SSH locali per pattern di connessione strani o errori ripetuti.
Usa la gestione della configurazione: Usa i file di configurazione SSH per gestire ambienti di sviluppo dinamici senza compromessi sulla sicurezza.
Per ambienti cloud dinamici
Usa nomi DNS: Connettiti usando i nomi host piuttosto che gli indirizzi IP. Questo mantiene la coerenza quando l'indirizzo sottostante cambia.
Sfrutta gli strumenti cloud: Usa le console del provider per ottenere le impronte digitali attuali. Verifica le chiavi con questi strumenti prima di accettare modifiche.
Infrastruttura come Codice Automatizza la verifica delle chiavi con strumenti come Terraform. Per configurazioni avanzate, puoi anche usare proxy SSH SOCKS5.
Host Bastion: Configura server jump con chiavi stabili. Funzionano come punti di accesso sicuri alla tua infrastruttura dinamica.
Conclusione
L'avviso "Warning: Remote Host Identification Has Changed" è una funzione di sicurezza importante di SSH, non un difetto da ignorare. Anche se questo avviso appare spesso per motivi legittimi come manutenzione del server o cambiamenti di configurazione, svolge un ruolo chiave nel proteggerti da attacchi man-in-the-middle e accessi non autorizzati.
Quando ricevi questo avviso, verifica la causa prima di procedere. Nella maggior parte dei casi, la soluzione è semplice: rimuovi la vecchia chiave dell'host usando i metodi indicati per il tuo sistema operativo, quindi accetta la nuova chiave alla prossima connessione.
Imparando come funzionano le chiavi host di SSH e seguendo le best practice, puoi mantenere sia la sicurezza che la comodità nei tuoi flussi di lavoro di accesso remoto. Per maggiori informazioni sul trasferimento sicuro dei file, vedi copiare file via SSH.