Ich habe einen Linux-Server, der mir bei jeder Verbindung die Meldung anzeigt, die den SSH-Hostschlüssel geändert hat:
$ ssh root @ host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @ WARNUNG: IDENTIFIZIERUNG DES FERNHOST GEÄNDERT! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ Es ist möglich, dass jemand etwas Schlimmes tut! Jemand könnte Sie gerade belauschen (Man-in-the-Middle-Angriff)! Es ist auch möglich, dass der RSA-Hostschlüssel gerade geändert wurde. Der Fingerabdruck für den vom Remote-Host gesendeten RSA-Schlüssel lautet 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec: 03: 6b. Bitte kontaktieren Sie Ihren Systemadministrator. Fügen Sie in /home/emerson/.ssh/known_hosts den richtigen Hostschlüssel hinzu, um diese Nachricht zu entfernen. Beleidigender Schlüssel in /home/emerson/.ssh/known_hosts:377
Der RSA-Hostschlüssel für Host1 wurde geändert und Sie haben eine strikte Überprüfung angefordert. Überprüfung des Hostschlüssels fehlgeschlagen.
Es hält mich für ein paar Sekunden eingeloggt und beendet dann die Verbindung.
host1: ~ / .ssh # Read from remote host host1: Verbindung von Peer zurückgesetzt Verbindung zu host1 geschlossen.
Weiß jemand, was passiert und was ich tun könnte, um dieses Problem zu lösen?
Antworten:
Bitte löschen Sie nicht die gesamte Datei known_hosts, wie von einigen Personen empfohlen. Dadurch wird die Warnung vollständig ungültig. Dies ist eine Sicherheitsfunktion, die Sie warnt, dass möglicherweise ein Mann in der Mitte angegriffen wurde.
Ich schlage vor, Sie identifizieren, warum es den Eindruck hat, dass sich etwas geändert hat. Höchstwahrscheinlich hat ein SSH-Upgrade die Verschlüsselungsschlüssel aufgrund einer möglichen Sicherheitslücke geändert. Anschließend können Sie diese bestimmte Zeile aus Ihrer known_hosts-Datei löschen:
Dies d eletes Linie 377 , wie nach dem Doppelpunkt in der Warnung angezeigt:
Alternativ können Sie den entsprechenden Schlüssel wie folgt entfernen
Bitte löschen Sie NICHT die gesamte Datei und stellen Sie sicher, dass dies tatsächlich der Computer ist, zu dem Sie eine Verbindung herstellen möchten, bevor Sie den spezifischen Schlüssel löschen.
quelle
Ich denke, dass einige der hier gegebenen Antworten die in der Frage des OP empfohlene Vorgehensweise betreffen, aber die Frage nicht vollständig beantworten.
Die Frage lautet: "Wie entferne ich die strenge RSA-Schlüsselüberprüfung in SSH und wo liegt das Problem?"
Das Problem hierbei ist, wie von einigen anderen empfohlen, eine Änderung des Hosts, die wahrscheinlich auf eine Neuinstallation des Servers zurückzuführen ist (häufigstes Szenario). Die empfohlene Lösung besteht in der Tat darin, den fehlerhaften Schlüssel aus der Datei .ssh / authorized_keys mit einer Inline-Sedierung zu entfernen.
Es wurden jedoch keine Antworten auf den spezifischen Teil der Frage " So entfernen Sie die strikte RSA-Schlüsselüberprüfung in SSH " gefunden.
Sie können die StrictHostKey-Prüfung in Ihrer SSH-Konfigurationsdatei entfernen, die normalerweise unter gespeichert ist
~/.ssh/config
.Ein Beispiel für einen Host-Block finden Sie unten:
Die speziell hinzugefügte Zeile ist die letzte,
StrictHostKeyChecking no
die genau das tut. Abhängig von Ihrem speziellen Szenario kann dies für Sie nützlich sein, z. B. das Ausführen mehrerer virtualisierter Container auf einem dedizierten Server in wenigen Schritten, das Stoppen und Starten einer anderen Instanz auf derselben IP-Adresse.quelle
Eine andere Möglichkeit, StrictHostKeyChecking zu entfernen, wenn Sie dies nur für einen einzelnen Server tun müssen:
quelle
Ist das zuallererst Ihre Maschine? Haben Sie die Host-Schlüssel wissentlich geändert? Wenn nicht, wäre ich sehr besorgt, dass etwas diese Daten geändert hat.
Zweitens, drehen Sie das SSH-Debugging auf,
und schauen Sie nach, was Ihnen das sagt. Versuchen Sie auch, in / var / log / secure und / var / log / messages auf dem Server, mit dem Sie sich verbinden wollen, nach Hinweisen zu suchen. sshd gibt gute Fehlermeldungen aus.
Drittens ist diese Maschine mit dem Internet verbunden? Sollten Sie wirklich Root-Anmeldungen zulassen?
quelle
Sie erhalten dies, weil sich etwas geändert hat (z. B. neue Netzwerkkarte, neue IP-Adresse, Änderung der Serversoftware usw.). Sicherheitsfokus hat einen schönen Artikel über den Schutz von SSH-Hostschlüsseln .
Entfernen Sie einfach den Schlüssel (mit SFTP oder ähnlichem) vom Server, indem Sie die
$HOME/.ssh/known_hosts
Datei bearbeiten , und akzeptieren Sie den neuen Schlüssel bei der nächsten Verbindung.Ihre Verbindung wird möglicherweise aufgrund der Einstellung "StrictHostKeyChecking" getrennt. In diesem Thread finden Sie ein ähnliches Problem.
quelle
Wie der "Host" [allgemein definiert] für den ssh-Client so aussieht, als hätte sich alles geändert, von einer Neuinstallation / Multiboot bis hin zu einem völlig anderen Computer mit einer zuvor verbundenen IP-Adresse Error.
Es ist nicht erforderlich, die strenge Prüfung auszuschalten, und das Löschen gespeicherter Schlüssel im Großhandel ist nicht sinnvoll.
Es ist durchaus möglich, zwei verschiedene Schlüssel in known_hosts für einen bestimmten Hostnamen oder eine bestimmte IP-Adresse aufzulisten. Geben Sie 2 Alternativen an, je nachdem, ob Sie den 'alten' Schlüssel benötigen, der derzeit in known_hosts gespeichert ist
Löschen Sie entweder den bestimmten Schlüssel, auf den es sich bezieht, bei l377 von known_hosts für das OP, oder behalten Sie beide bei
Die einfachste Möglichkeit, beide zu behalten und das Löschen von Schlüsseln in known_hosts zu vermeiden, ist
Weitere Antworten unter "Korrekten Hostschlüssel in known_hosts hinzufügen" / Mehrere SSH-Hostschlüssel pro Hostname?
quelle