1177 Stimmen

Ssh remote host identification has changed

Ich habe meinen Server neu installiert und erhalte diese Nachrichten:

[user@hostname ~]$ ssh root@pong
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNUNG: DIE IDENTIFIKATION DES ENTFERNEN HOSTS HAT SICH GEÄNDERT!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MOGLICHERWEISE MACHT JEMAND ETWAS BÖSES!
Jemand könnte gerade zuhören (Man-in-the-Middle-Angriff)!
Es ist auch möglich, dass ein Hostschlüssel gerade geändert wurde.
Der Fingerabdruck des vom entfernten Host gesendeten RSA-Schlüssels lautet
6e:45:f9:a8:af:38:3d:a1:a5:c7:76:1d:02:f8:77:00.
Bitte kontaktieren Sie Ihren Systemadministrator.
Fügen Sie den korrekten Hostschlüssel in /home/hostname /.ssh/known_hosts hinzu, um diese Meldung loszuwerden.
Übeltäterischer RSA-Schlüssel in /var/lib/sss/pubconf/known_hosts:4
Der RSA-Hostschlüssel für pong wurde geändert und Sie haben um strenge Überprüfung gebeten.
Hostschlüsselüberprüfung fehlgeschlagen.

Ich habe verschiedene Lösungen ausprobiert, die ich im Internet gefunden habe. Meine known_hosts-Datei (normalerweise in ~/.ssh/known_hosts) befindet sich in /var/lib/sss/pubconf/known_hosts. Ich habe versucht, sie zu bearbeiten, aber sie bleibt in einem Zustand. Ich habe ipa-client installiert und habe Fedora 19. Wie löse ich diese Warnung?

Alle bisher gegebenen Antworten funktionieren nur, wenn Sie Freeipa nicht installiert haben.

Die richtige Antwort für freeipa in den Kommentaren unten von adrin finden Sie hier.

49voto

fIwJlxSzApHEZIl Punkte 9729

Das Problem besteht darin, dass Sie zuvor eine SSH-Verbindung zu einem entfernten Computer akzeptiert haben und sich der digitale Fingerabdruck oder SHA256-Hashschlüssel dieses entfernten Computers seit Ihrer letzten Verbindung geändert hat. Wenn Sie also erneut versuchen, eine SSH-Verbindung herzustellen oder Github zu verwenden, um Code abzurufen, der ebenfalls SSH verwendet, erhalten Sie einen Fehler. Warum? Weil Sie die gleiche Adresse des entfernten Computers wie zuvor verwenden, der entfernte Computer jedoch mit einem anderen Fingerabdruck antwortet. Daher ist es möglich, dass jemand den Computer, mit dem Sie zuvor verbunden waren, vortäuscht. Dies ist ein Sicherheitsproblem.

Wenn Sie zu 100% sicher sind, dass der entfernte Computer nicht kompromittiert, gehackt, gefälscht usw. ist, müssen Sie nur den Eintrag in Ihrer known_hosts-Datei für den entfernten Computer löschen. Dies löst das Problem, da dann keine Inkongruenz mit den SHA256-Fingerabdruck-IDs mehr besteht, wenn Sie sich verbinden.

So habe ich es auf meinem Mac gemacht:

1) Finden Sie die Zeile des Outputs, die lautet RSA-Hostschlüssel für servername:port wurde geändert und Sie haben strikte Überprüfung angefordert. Sie benötigen sowohl den Servernamen als auch möglicherweise den Port aus dieser Protokollausgabe.

2) Sichern Sie die SSH known_hosts-Datei cp /Users/yourmacusername/.ssh/known_hosts /Users/yourmacusername/.ssh/known_hosts.bak

3) Finden Sie die Zeile, in der der alte Fingerabdruck des Computers gespeichert ist, und löschen Sie ihn. Sie können den spezifischen problematischen Fingerabdruck des entfernten Computers suchen, indem Sie den Servernamen und den Port aus Schritt #1 verwenden. nano /Users/yourmacusername/.ssh/known_hosts

4) CTRL-X zum Beenden und wählen Sie Y, um die Änderungen zu speichern

Geben Sie nun ssh -p port servername ein und Sie erhalten die ursprüngliche Aufforderung, die Sie erhalten haben, als Sie versucht haben, sich zum ersten Mal mit diesem Computer über SSH zu verbinden. Sie erhalten dann die Möglichkeit, den aktualisierten SHA256-Fingerabdruck dieses entfernten Computers in Ihre known_hosts-Datei zu speichern. Wenn Sie SSH über Port 22 verwenden, ist das Argument -p nicht erforderlich.

Bei Problemen können Sie die ursprüngliche known_hosts-Datei wiederherstellen: cp /Users/yourmacusername/.ssh/known_hosts.bak /Users/yourmacusername/.ssh/known_hosts

25voto

Stephen Quan Punkte 16456

Wie bereits von vielen gesagt wurde, verwenden Sie ssh-keygen, d.h.

ssh-keygen -R pong

Außerdem können Sie erwägen, vorübergehend das Host-Schlüssel-Checken auszuschalten:

ssh -oStrictHostKeyChecking=no root@pong

24voto

Sahil Gulati Punkte 14843

Funktioniert für mich!

Fehler: Beleidigender RSA-Schlüssel in /var/lib/sss/pubconf/known_hosts:4

Dies deutet darauf hin, dass Sie einen beleidigenden RSA-Schlüssel in Zeile Nr. 4 haben

Lösung 1:

1. vi /var/lib/sss/pubconf/known_hosts

2. entferne Zeile Nr. 4.

3. Speichern und Beenden und erneut versuchen.

Lösung 2:

ssh-keygen -R "Ihr Server-Hostname oder IP"

ODER

Lösung 3:

sed -i '4d' /root/.ssh/known_hosts

Dies entfernt die 4. Zeile von /root/.ssh/known_hosts direkt(-i).

13voto

Kishore Punkte 473

Aktualisieren Sie Ihren SSH-Schlüssel, es ist normal, die obige Nachricht zu erhalten.

Bearbeiten Sie einfach ~/.ssh/known_hosts und löschen Sie Zeile 4, wie in der Nachricht angegeben

Beleidigender RSA-Schlüssel in /Users/isaacalves/.ssh/known_hosts:4

oder verwenden Sie ssh-keygen, um den ungültigen Schlüssel zu löschen

ssh-keygen -R "Ihr Server-Hostname oder IP"

11voto

Mahmud Punkte 129

Endgültige Lösung!

Es wird angezeigt aufgrund des gespeicherten ungültigen ECDSA-Schlüssels. Daher müssen wir den ECDSA-Schlüssel von unserer Master/Controller-Maschine entfernen, indem wir den folgenden Befehl verwenden:

ssh-keygen -R 192.168.0.132

Hier ist 192.168.0.132 die IP des entfernten Systems.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X