GNU/Linux >> Linux Esercitazione >  >> Linux

Come correggere l'errore "verifica della chiave host non riuscita"

Cosa succede in background quando connetti un server per la prima volta usando ssh

Quando ci si connette a un server per la prima volta, il server chiede di confermare la connessione al sistema corretto. L'esempio seguente utilizza il comando ssh per connettersi a un host remoto denominato host03:

# ssh host03
The authenticity of host 'host03 (192.0.2.103)' can’t be
established. ECDSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host03,192.0.2.103' (ECDSA) to the list of known hosts.

La convalida dell'host è una delle principali funzionalità di OpenSSH. Il comando verifica che ti stia connettendo all'host a cui pensi di connetterti. Quando si immette yes, il client aggiunge la chiave host pubblica del server al file ~/.ssh/known_hosts dell'utente, creando la directory ~/.ssh se necessario. La prossima volta che ci si connette al server remoto, il client confronta questa chiave con quella fornita dal server. Se le chiavi corrispondono, non ti viene chiesto se desideri continuare a connetterti.

Cosa causa l'errore di verifica della chiave dell'host non riuscito

Se qualcuno tenta di indurti con l'inganno ad accedere alla sua macchina in modo che possa annusare la tua sessione SSH, riceverai un avviso simile al seguente:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
dd:cf:50:31:7a:78:93:13:dd:99:67:c2:a2:19:22:13.
Please contact your system administrator.
Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
Offending key in /home/lcz/.ssh/known_hosts:7
RSA host key for 192.168.219.149 has changed and you have requested strict checking.
Host key verification failed.

Se ricevi un avviso come questo, fermati e determina se c'è un motivo per la modifica della chiave host del server remoto (ad esempio se SSH è stato aggiornato o se il server stesso è stato aggiornato). Se non c'è una buona ragione per la modifica della chiave host, non provare a connetterti a quella macchina finché non hai risolto la situazione.

Come correggere l'errore "verifica della chiave host non riuscita"

Metodo 1:rimozione manuale della vecchia chiave

1. Sul server di origine, le vecchie chiavi sono archiviate nel file ~/.ssh/known_hosts .

2. Solo se questo evento è legittimo, e solo se è noto con precisione il motivo per cui il server SSH presenta una chiave diversa, modificare il file known_hosts e rimuovere la chiave non più valida. Ogni utente nel client/server di origine ha i propri host_noti nella sua home directory, basta rimuovere la voce nel file di un utente specifico per il server di destinazione. Ad esempio:
– Se root vuole inviare un ssh al server, rimuove semplicemente la voce in /root/.ssh/known_hosts il file va bene.
– Se testuser vuole inviare un ssh al server, rimuovere la voce nel file /home/testuser/.ssh/known_hosts .

3. Nel mio caso, rimuoverò la chiave (evidenziata in rosso) per il server di destinazione 192.168.219.149 dal file /home/user01/.ssh/known_hosts.

# vim /home/user01/.ssh/known_hosts
172.104.9.113 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLrY91bQOihgFZQ2Ay9KiBG0rg51/YxJAK7dvAIopRaWzFEEis3fQJiYZNLzLgQtlz6pIe2tj9m/Za33W6WirN8=
192.168.219.148 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=
192.168.219.149 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=

Metodo 2:rimozione della vecchia chiave utilizzando il comando ssh-keygen

Puoi anche rimuovere la vecchia chiave usando anche il comando ssh-keygen. La sintassi per utilizzare il comando è la seguente.

$ ssh-keygen -R [hostname|IP address]

Ad esempio, nel nostro caso utilizzeremo l'indirizzo IP per eliminare la vecchia chiave.

$ ssh-keygen -R 192.168.219.149
# Host 192.168.219.149 found: line 3
/home/user01/.ssh/known_hosts updated.
Original contents retained as /home/user01/.ssh/known_hosts.old
Nota :Se non si conosce esattamente il motivo per cui il server SSH presenta una chiave diversa, il file unknown_hosts non è corretto o qualcuno deve esaminare questo server e le connessioni di rete per comprendere il motivo della modifica imprevista.

Verifica

Se i server remoti chiedono una conferma per aggiungere la nuova chiave al file ~/.ssh/known_host, conferma che hai rimosso con successo la vecchia chiave. Se confermi la richiesta, la macchina di origine aggiunge la nuova chiave al file ~/.ssh/known_host.

$ ssh [email protected]
The authenticity of host '192.168.219.149 (192.168.219.149)' can't be established.
ECDSA key fingerprint is SHA256:V+iGp3gwSlnpbtYv4Niq6tcMMSZivSnYWQIaJnUvHb4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.219.149' (ECDSA) to the list of known hosts.


Linux
  1. Come risolvere l'errore "gpg:keyserver receive failed:No dirmngr".

  2. Come correggere l'errore di errore di autenticazione Cron in Linux?

  3. Come correggere l'errore – ModSecurity:accesso negato con codice 44 [Apache]

  4. Come ottenere la chiave USB per il montaggio automatico?

  5. Come risolvere il problema - Errore Apache:DirectoryIndex non corrispondente?

Come risolvere il problema:l'utente non è nell'errore del file sudoers

Come correggere l'errore di conversione con Calibre

Come risolvere l'errore di caricamento dei provider di KDE Discover non riuscito

Come risolvere l'errore "Impossibile verificare le seguenti firme" in Ubuntu Linux

Come risolvere "Le informazioni di aggiornamento sono obsolete" in Ubuntu Linux

Come risolvere la partizione NTFS non è riuscito a montare l'errore in Linux