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

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

Wie wir bereits in unserem Artikel über grundlegende SSH-Client-Befehle besprochen haben, werden Sie aufgefordert, „Ja“ zu sagen, um die Authentizität des Hosts zu bestätigen, wenn Sie zum ersten Mal eine SSH-Verbindung zu einem Computer herstellen (oder wenn sich der Schlüssel auf dem Remote-Computer ändert). .

Diese Funktion wird über den ssh-Parameter StrictHostKeyChecking gesteuert. Standardmäßig ist StrictHostKeyChecking auf yes eingestellt.

Die Standardeinstellung „StrictHostKeyChecking yes“ ist aus Sicherheitssicht die beste Option, um Ihr System vor Trojaner-Angriffen zu schützen. Wenn Sie nicht wissen, was Sie tun, sollten Sie StrictHostKeyChecking nicht auf no setzen.

Manchmal kann es gut sein, es vorübergehend zu deaktivieren. Wenn Sie zum Beispiel zum ersten Mal eine Verbindung zu vielen bekannten Hosts herstellen, möchten Sie diese Funktion möglicherweise deaktivieren (d. h. Ja nach Hostschlüsseln fragen) und ssh automatisch alle Hostschlüssel hinzufügen lassen. Später können Sie diese Funktion aktivieren.

Wenn Sie die automatische kennwortlose Anmeldung für einen Server konfiguriert haben und sich der Remote-Host-Schlüssel aus einem Grund ständig ändert (Sie wissen, warum er sich ändert), sollten Sie erwägen, StrictHostKeyChecking auf no zu setzen, bis das Problem der sich ständig ändernden Remote-Host-Schlüssel besteht behoben.

Über die ssh-Befehlszeile können Sie die StrictHostKeyChecking-Option wie unten gezeigt übergeben. Sie können diese Option auch in Ihrer ssh_config-Datei setzen

# ssh -o 'StrictHostKeyChecking no' user@host

Wenn Sie sich zum ersten Mal beim Server anmelden, würde dieser den RSA dauerhaft zur Liste der bekannten Hosts hinzufügen ohne Sie aufzufordern .

Aber wenn es eine Schlüsseländerung gibt (normalerweise ändert sich der Remote-Host-Schlüssel, wenn das Betriebssystem (oder sshd) neu installiert wird), dann müssen Sie den alten ungültigen Schlüssel wie unten gezeigt löschen.

Entfernen Sie den störenden SSH-Schlüssel

Der folgende Fehler wird angezeigt, wenn sich der Remote-Host-Schlüssel ändert (nachdem Sie sich zuvor mit einem gültigen Remote-Host-Schlüssel verbunden haben).

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
a7:a8:f2:97:94:33:58:b7:9d:bc:e0:a6:6b:f7:0a:29.
Please contact your system administrator.
Add correct host key in /home/ramesh/.ssh/known_hosts to get rid of this message.
Offending key in /home/ramesh/.ssh/known_hosts: 6
Permission denied (publickey,password).

Sie müssen den Schlüssel entfernen, um fortzufahren. Verwenden Sie den folgenden Befehl, um den problematischen Schlüssel zu entfernen.,

# sed -i '6d' ~/.ssh/known_hosts

Hinweis :Ändern Sie die 6d entsprechend der angezeigten Zeilennummer.

Wenn Ihr Sed keine Option -i hat, verwenden Sie Perl oder einen Editor, um den störenden Schlüssel zu entfernen.

Perl-Lösung:

# perl -pi -e 's/\Q$_// if ($. == 6);' ~/.ssh/known_hosts

Hinweis :Ändern Sie die Zeilennummer von 6 in die entsprechende Zeilennummer.


Linux
  1. So richten Sie SSH-Schlüssel ein

  2. [Linux]:How to Hash Known Hosts Files of ~/.ssh/ directory

  3. Ssh – Passwörter an ein Skript übergeben?

  4. So richten Sie SSH-Schlüssel unter Ubuntu 18.04 ein

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

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

So verbessern Sie die SSH-Sicherheit unter Ubuntu 18.04

So fügen Sie dem VS-Code einen SSH-Schlüssel hinzu und stellen eine Verbindung zu einem Host her

So konvertieren Sie den privaten Schlüssel von PuTTY (.ppk) in einen SSH-Schlüssel

So deaktivieren Sie die Überprüfung des SSH-Hostschlüssels in Linux

Öffentlichen Schlüssel zur Datei known_hosts hinzufügen