Heute habe ich versucht, eine SSH-Verbindung zu meinem Ubuntu 20.04 LTS-Remoteserver herzustellen, und bin auf diese Meldung gestoßen:WARNUNG:REMOTE HOST IDENTIFICATION HAS CHANGED! .
$ ssh [email protected]
Beispielausgabe:
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 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 a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc. Please contact your system administrator. Add correct host key in /home/sk/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/sk/.ssh/known_hosts:11 remove with: ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52" ECDSA host key for 192.168.225.52 has changed and you have requested strict checking. Host key verification failed.
Fehler - WARNUNG REMOTE-HOST-IDENTIFIKATION HAT SICH GEÄNDERT
Das ist eigentlich keine Fehlermeldung. Es handelt sich lediglich um eine Sicherheitsbenachrichtigung, die angibt, dass sich der ECDSA-Hostschlüssel für das angegebene Remote-System seit Ihrer letzten Verbindung geändert hat. Wie Sie vielleicht bereits wissen, wird beim ersten Zugriff auf ein Remote-System von einem lokalen System über SSH ein Fingerabdruck für den ECDSA-Schlüssel, der von diesem Remote-Host gesendet wird, zwischengespeichert und in $HOME/.ssh/known_hosts
Datei in unserem lokalen System.
Wenn sich die Identität (Fingerabdruck) geändert hat, nachdem Sie das Remote-System neu installiert oder mehreren Remote-Systemen dieselbe IP-Adresse zugewiesen haben, wird die obige Warnmeldung angezeigt.
Fehler „WARNUNG:REMOTE HOST IDENTIFICATION HAS CHANGED“ in Linux behoben
Um dieses Problem zu beheben, entfernen Sie einfach den zwischengespeicherten Schlüssel für die IP-Adresse auf dem lokalen System mit dem Befehl:
$ ssh-keygen -R 192.168.225.52
Beispielausgabe:
# Host 192.168.225.52 found: line 11 /home/sk/.ssh/known_hosts updated. Original contents retained as /home/sk/.ssh/known_hosts.old
Beheben Sie den Fehler „WARNUNG:REMOTE HOST IDENTIFICATION HAS CHANGED“ in Linux
Sie können den Pfad der Datei known_hosts auch explizit mit -f angeben kennzeichnen wie unten.
$ ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52"
Der obige Befehl löscht alle Schlüssel, die zum entfernten Host gehören, aus known_hosts
Datei des lokalen Systems. Und auch die alten Inhalte der known_hosts
Datei wird in einer Datei mit dem Namen "known_hosts.old
" gespeichert ".
Wenn Sie einen anderen SSH-Port verwenden, müssen Sie dies ausdrücklich wie folgt erwähnen:
$ ssh-keygen -R 192.168.225.52:1234
Hier ist 1234 die SSH-Portnummer. Ersetzen Sie es durch Ihre tatsächliche SSH-Portnummer.
Versuchen Sie nach dem Entfernen der Schlüssel erneut, sich mit dem folgenden Befehl über SSH mit dem Remote-System zu verbinden:
$ ssh [email protected]
Geben Sie „yes“ ein und drücken Sie die EINGABETASTE, um den Remote-Host-Schlüssel in Ihrem lokalen System hinzuzufügen:
The authenticity of host '192.168.225.52 (192.168.225.52)' can't be established. ECDSA key fingerprint is SHA256:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.225.52' (ECDSA) to the list of known hosts. [email protected]'s password:
Jetzt können Sie über SSH auf das entfernte System zugreifen.