GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So beheben Sie den Fehler „Verifizierung des Hostschlüssels fehlgeschlagen“

Was im Hintergrund passiert, wenn Sie sich zum ersten Mal mit ssh mit einem Server verbinden

Wenn Sie zum ersten Mal eine Verbindung zu einem Server herstellen, fordert der Server Sie auf, zu bestätigen, dass Sie mit dem richtigen System verbunden sind. Das folgende Beispiel verwendet den ssh-Befehl, um eine Verbindung zu einem Remote-Host namens host03 herzustellen:

# 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.

Die Host-Validierung ist eine der Hauptfunktionen von OpenSSH. Der Befehl überprüft, ob Sie sich mit dem Host verbinden, von dem Sie glauben, dass Sie eine Verbindung herstellen. Wenn Sie yes eingeben, hängt der Client den öffentlichen Hostschlüssel des Servers an die Datei ~/.ssh/known_hosts des Benutzers an und erstellt bei Bedarf das Verzeichnis ~/.ssh. Wenn Sie sich das nächste Mal mit dem Remote-Server verbinden, vergleicht der Client diesen Schlüssel mit dem Schlüssel, den der Server bereitstellt. Wenn die Schlüssel übereinstimmen, werden Sie nicht gefragt, ob Sie die Verbindung fortsetzen möchten.

Was verursacht den Fehler „Hostschlüsselüberprüfung fehlgeschlagen“

Wenn jemand versucht, Sie dazu zu bringen, sich bei seinem Computer anzumelden, damit er Ihre SSH-Sitzung ausspionieren kann, erhalten Sie eine Warnung ähnlich der folgenden:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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.

Wenn Sie jemals eine solche Warnung erhalten, halten Sie an und prüfen Sie, ob es einen Grund für die Änderung des Hostschlüssels des Remote-Servers gibt (z. B. wenn SSH aktualisiert wurde oder der Server selbst aktualisiert wurde). Wenn es keinen triftigen Grund für eine Änderung des Hostschlüssels gibt, versuchen Sie nicht, sich mit diesem Computer zu verbinden, bis Sie das Problem gelöst haben.

So beheben Sie den Fehler „Verifizierung des Hostschlüssels fehlgeschlagen“

Methode 1 – alten Schlüssel manuell entfernen

1. Auf dem Quellserver werden die alten Schlüssel in der Datei ~/.ssh/known_hosts gespeichert .

2. Nur wenn dieses Ereignis legitim ist und nur wenn genau bekannt ist, warum der SSH-Server einen anderen Schlüssel präsentiert, bearbeiten Sie die Datei known_hosts und entfernen Sie den nicht mehr gültigen Schlüsseleintrag. Jeder Benutzer auf dem Client/Quellserver hat seine eigenen known_hosts in seinem Home-Verzeichnis, entfernen Sie einfach den Eintrag in der Datei eines bestimmten Benutzers für den Zielserver. Zum Beispiel:
– Wenn root per ssh auf den Server zugreifen möchte, entfernen Sie einfach den Eintrag in /root/.ssh/known_hosts Datei ist in Ordnung.
– Wenn Testuser ssh zum Server wollen, dann entfernen Sie den Eintrag in der Datei /home/testuser/.ssh/known_hosts .

3. In meinem Fall entferne ich den Schlüssel (rot hervorgehoben) für den Zielserver 192.168.219.149 aus der Datei /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=

Methode 2 – Entfernen des alten Schlüssels mit dem Befehl ssh-keygen

Sie können den alten Schlüssel auch mit dem Befehl ssh-keygen entfernen. Die Syntax zur Verwendung des Befehls ist unten.

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

Beispielsweise verwenden wir in unserem Fall die IP-Adresse, um den alten Schlüssel zu löschen.

$ 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
Hinweis :Wenn Sie nicht genau wissen, warum der SSH-Server einen anderen Schlüssel präsentiert, ist entweder Ihre known_hosts-Datei falsch, oder jemand muss diesen Server und die Netzwerkverbindungen untersuchen, um den Grund für die unerwartete Änderung zu verstehen.

Bestätigen

Wenn der Remote-Server nach einer Bestätigung zum Hinzufügen des neuen Schlüssels zur Datei ~/.ssh/known_host fragt, bestätigt dies, dass Sie den alten Schlüssel erfolgreich entfernt haben. Wenn Sie die Anfrage bestätigen, fügt die Quellmaschine den neuen Schlüssel in die Datei ~/.ssh/known_host ein.

$ 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. So beheben Sie den Fehler „gpg:Empfang des Schlüsselservers fehlgeschlagen:Kein Dirmngr“.

  2. Wie behebt man den Cron-Authentifizierungsfehler unter Linux?

  3. Wie behebt man den Fehler „GPG-Schlüsselabruf fehlgeschlagen“ während der YUM-Installation?

  4. Wie behebt man – Apache-Fehler:Kein passender DirectoryIndex?

  5. So beheben Sie den anstößigen Schlüssel in der Datei ~/.ssh/known_hosts

Problembehebung:Fehler „Benutzer befindet sich nicht in der Sudoers-Datei“.

So beheben Sie Konvertierungsfehler mit Calibre

So beheben Sie den Fehler beim Laden von Anbietern durch KDE Discover

So beheben Sie den Fehler „Die folgenden Signaturen konnten nicht überprüft werden“ in Ubuntu Linux

So beheben Sie „Die Update-Informationen sind veraltet“ in Ubuntu Linux

So beheben Sie den Fehler „NTFS-Partition konnte nicht bereitgestellt werden“ in Linux