Cosa significa che la verifica della chiave dell'host non è riuscita?

What Does Host Key Verification Failed Mean



Durante l'utilizzo del server ssh, uno degli errori comuni che incontrerai è Verifica chiave host non riuscita . Per capire perché si verifica questo errore, capiamo prima come ssh stabilisce una connessione.

Quando tenti di connetterti a un server remoto, il server ti chiede di confermare se stai cercando di stabilire la connessione al server giusto.









Se digiti , il client aggiungerà la chiave host pubblica al .ssh/host_noti file. Una volta aggiunta la chiave del server remoto, la prossima volta che proverai a connetterti allo stesso server, il client confronterà le chiavi con le chiavi memorizzate nel host_conosciuti file.



Non verrà visualizzato alcun avviso se la chiave è presente nel host_conosciuti file. Il server sarà subito connesso.





Perché la verifica della chiave Host non è riuscita Si verifica un errore

Il motivo principale per cui l'errore di verifica della chiave dell'host non è riuscito è che la chiave dell'host remoto è stata modificata e non è più la stessa archiviata nel host_conosciuti file. La chiave di solito cambia quando i server vengono ricostruiti e viene visualizzato un errore come mostrato di seguito:



Come risolvere il problema Verifica chiave host non riuscita Errore

Per correggere questo errore, dobbiamo eliminare la chiave in questione dal host_conosciuti file presente nel nostro sistema in .ssh directory. L'errore fornisce l'indirizzo IP del server remoto e il numero di riga su cui è memorizzata la chiave nel host_conosciuti file.

Nell'errore di cui sopra, /home/user/.ssh/known_hosts:7 , il : 7 è il numero di riga incriminato. Diversi approcci per correggere questo errore sono elencati di seguito:

Metodo 1:

Il primo metodo per correggere questo errore è usare il sed comando. Il sed comando viene utilizzato per modificare i file di testo per cercare, aggiungere o eliminare qualcosa dai file. Lo stiamo usando per eliminare l'host offensivo:

$sed -io '7d'~.ssh/host_conosciuti

In cui si 7 è il numero di riga mostrato nell'errore precedente, il numero di riga potrebbe essere diverso; assicurarsi di utilizzare il numero di riga corretto. Il comando eliminerà la riga incriminata dal host_conosciuti file e risolvere il problema.

Metodo 2:

Il secondo approccio è aprire il host_conosciuti file in qualsiasi editor:

$nano.ssh/host_conosciuti

E cancella manualmente la riga incriminata e salva il file.

Metodo 3:

Il terzo metodo è rimuovere il server usando il ssh-keygen comando. Segui la sintassi indicata di seguito:

$ssh-keygen -R [INDIRIZZO IP]

Ad esempio, per rimuovere la chiave host di 192.168.10.116 , utilizzo:

$ssh-keygen -R192.168.10.116

Conclusione

L'errore di verifica della chiave host si verifica quando la chiave del server remoto cambia e il client non la verifica dalle chiavi memorizzate. Le chiavi del server sono memorizzate nel host_conosciuti file sul lato client e, una volta stabilita la connessione, il client verifica la chiave confrontandola con le chiavi memorizzate nel host_conosciuto file e in caso di errore, ottieni un Verifica della chiave host non riuscita errore.

Per correggere questo problema, rimuovere l'host offensivo dal host_conosciuti file. Questa guida ha menzionato tre diversi metodi per rimuovere l'host offensivo e qualsiasi metodo può essere utilizzato per risolvere questo errore.