Was bedeutet eine fehlgeschlagene Überprüfung des Hostschlüssels?

What Does Host Key Verification Failed Mean



Bei der Verwendung des SSH-Servers ist einer der häufigsten Fehler, auf die Sie stoßen werden Überprüfung des Hostschlüssels fehlgeschlagen . Um zu verstehen, warum dieser Fehler auftritt, lassen Sie uns zunächst verstehen, wie ssh eine Verbindung herstellt.

Wenn Sie versuchen, eine Verbindung zu einem Remote-Server herzustellen, werden Sie vom Server aufgefordert, zu bestätigen, ob Sie versuchen, eine Verbindung zum richtigen Server herzustellen.









Wenn du tippst Jawohl , fügt der Client den öffentlichen Hostschlüssel zum .ssh/bekannte_hosts Datei. Sobald der Schlüssel des entfernten Servers hinzugefügt wurde, vergleicht der Client beim nächsten Versuch, sich mit demselben Server zu verbinden, die Schlüssel mit den im gespeicherten Schlüsseln bekannte_hosts Datei.



Sie werden nicht mit einer Warnung aufgefordert, wenn der Schlüssel im bekannte_hosts Datei. Der Server wird sofort verbunden.





Warum die Überprüfung des Hostschlüssels fehlgeschlagen ist Fehler tritt auf

Der Hauptgrund für den Fehler Host-Schlüsselüberprüfung ist fehlgeschlagen, dass der Remote-Host-Schlüssel geändert wurde und nicht mehr mit dem im bekannte_hosts Datei. Der Schlüssel ändert sich normalerweise, wenn Server neu erstellt werden, und Sie erhalten eine Fehlermeldung wie unten gezeigt:



So beheben Sie das Überprüfung des Hostschlüssels fehlgeschlagen Fehler

Um diesen Fehler zu beheben, müssen wir den störenden Schlüssel aus dem löschen bekannte_hosts Datei in unserem System vorhanden in .ssh Verzeichnis. Der Fehler gibt Ihnen die IP-Adresse des entfernten Servers und die Leitungsnummer an, auf der der Schlüssel gespeichert ist bekannte_hosts Datei.

Im obigen Fehler, /home/user/.ssh/known_hosts:7 , das : 7 ist die anstößige Zeilennummer. Nachfolgend sind mehrere Ansätze zur Behebung dieses Fehlers aufgeführt:

Methode 1:

Die erste Methode, um diesen Fehler zu beheben, ist die Verwendung der sed Befehl. Die sed Der Befehl wird verwendet, um die Textdateien zu ändern, um etwas in den Dateien zu suchen, hinzuzufügen oder zu löschen. Wir verwenden es, um den beleidigenden Host zu löschen:

$sed -ich '7d'~.ssh/bekannte_hosts

Woher 7 die im obigen Fehler angezeigte Zeilennummer ist, kann Ihre Zeilennummer abweichen; Stellen Sie sicher, dass Sie die richtige Zeilennummer verwenden. Der Befehl löscht die fehlerhafte Zeile aus dem bekannte_hosts Datei und beheben Sie das Problem.

Methode 2:

Der zweite Ansatz ist das Öffnen der bekannte_hosts Datei in einem beliebigen Editor:

$nano.ssh/bekannte_hosts

Löschen Sie die fehlerhafte Zeile manuell und speichern Sie die Datei.

Methode 3:

Die dritte Methode ist das Entfernen des Servers mit dem ssh-keygen Befehl. Folgen Sie der folgenden Syntax:

$ssh-keygen -R [IP ADRESSE]

Um zum Beispiel den Hostschlüssel von . zu entfernen 192.168.10.116 , verwenden:

$ssh-keygen -R192.168.10.116

Abschluss

Der Fehler bei der Überprüfung des Hostschlüssels tritt auf, wenn sich der Schlüssel des Remote-Servers ändert und der Client ihn nicht anhand der gespeicherten Schlüssel überprüft. Serverschlüssel werden im bekannte_hosts Datei auf der Client-Seite und beim Verbindungsaufbau überprüft der Client den Schlüssel, indem er ihn mit den in der Datei gespeicherten Schlüsseln vergleicht bekannter_host Datei und wenn Sie fehlschlagen, erhalten Sie eine Überprüfung des Hostschlüssels fehlgeschlagen Error.

Um dies zu beheben, entfernen Sie den beleidigenden Host aus dem bekannte_hosts Datei. In diesem Handbuch wurden drei verschiedene Methoden zum Entfernen des problematischen Hosts erwähnt, und jede Methode kann verwendet werden, um diesen Fehler zu beheben.