Wenn ich mich über SSH mit einem Server verbinde, der sich nicht in meiner Datei der bekannten Hosts befindet, gibt SSH manchmal die folgende Meldung aus:
Die Authentizität des Hosts „[Domäne] ([IP-Adresse])“ kann nicht festgestellt werden.
Der RSA-Schlüsselfingerabdruck ist [Fingerabdruck].
Möchten Sie die Verbindung wirklich fortsetzen (Ja/Nein)?
Wenn ich „Ja“ auswähle, erhalte ich die Meldung:
Warnung: „[Domäne]“ (RSA) dauerhaft zur Liste der bekannten Hosts hinzugefügt.
Aber für einige andere Server (z. B. github.com) werde ich nicht aufgefordert, fortzufahren, und stattdessensoforterhalte ich folgende Meldung, die etwas anders formuliert ist:
Warnung: Der RSA-Hostschlüssel für die IP-Adresse „[IP-Adresse]“ wurde dauerhaft zur Liste der bekannten Hosts hinzugefügt.
Was verursacht diesen Verhaltensunterschied? Und was noch wichtiger ist: Wenn ichnichtMuss ich bei der entsprechenden Aufforderung den zur Datei known_hosts hinzugefügten Schlüssel manuell überprüfen, bevor ich mit der Arbeit am Server fortfahren kann?
In beiden Fällen authentifiziere ich mich über einen öffentlichen Schlüssel. Ich verwende OS X 10.10.3 und das systeminstallierte OpenSSH.
Antwort1
Dies liegt wahrscheinlich daran, dass diese Sites ihren SSH-Fingerabdruck im DNS gespeichert haben und die Benutzer daher nicht mehr mit der Überprüfung des Schlüssels belästigen.
Die Funktion heißt SSHFP-Eintrag. Sie können dies überprüfen mitssh-keygen -r github.com
Antwort2
Es stellt sich heraus, dass ich einfach ein Idiot bin.
Während,wie Jakuje sagt, SSHFP ermöglicht es Websites, ihren öffentlichen Schlüsselfingerabdruck in ihren DNS-Einträgen zu speichern, in diesem Fall den SchlüsselWarbereits in der Datei „Known Hosts“ unter dem Domänennamen (den ich herausgefunden habe, indem -v
ich meinem ssh
Befehl das Debug-Flag hinzugefügt habe).
Wie aus der Informationsnachricht hervorgeht, die ich erhalten habe, wurde der Datei eine neue Zeile hinzugefügtfür die verwendete IP-Adresse.