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 sì , 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_conosciutiIn 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_conosciutiE 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.116Conclusione
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.