Ich muss eine Verbindung zu einem Host mit einer dynamischen IP-Adresse herstellen.
Jedes Mal, wenn sich die IP ändert, fordert SSH mich zur Überprüfung des Fingerabdrucks auf:
The authenticity of host '...' can't be established.
RSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no)?
Wäre es möglich, SSH den öffentlichen Hostschlüssel zu übergeben, so dass:
- SSH überprüft die Authentizität des Hosts automatisch
- Der Hostschlüssel wird nicht in der Datei unknown_hosts gespeichert
Diese Frage unterscheidet sich von Wie kann ich die Überprüfung von SSH-Hosts für bekannte Hosts vermeiden? da dass andere Fragen Ziele zu Unterdrückungs SSH - Validierung, während ich nicht wollen , es zu unterdrücken: Ich nicht möchte , dass die Host authentifiziert haben, nur die Host-öffentlichen Schlüssel (was ich weiß, und sie in einer Datei gespeichert haben) und nicht SSH known_hosts
Datei.
Für mich scheint die andere Frage zu sein, jedes Mal eine Verbindung zu einem anderen Server herzustellen, anstatt eine Verbindung zu einem einzelnen bekannten Server mit einer dynamischen IP herzustellen.
quelle
HostKeyAlias
Konfigurationswert zu Ihrer~/.ssh/config
Datei oder sogar zur globalen/etc/ssh/ssh_config
Datei hinzufügen .Die
known_hosts
Datei ist nicht nur der Schlüssel, sondern enthält auch den Hostnamen, mit dem Sie eine Verbindung herstellen, und nach Möglichkeit die entsprechende IP-Adresse. Aus diesem Grund wird der Fehler angezeigt. Er vergleicht das Triplet, das er vom Server erhält, mit dem, was Sie in der Datei unknown_hosts gespeichert haben.Wenn sich die IP-Adresse ständig ändert, können Sie sie deaktivieren. Dies
CheckHostIP
bedeutet, dass nur der Hostname und der Hostschlüssel überprüft werden. Wenn diese unverändert bleiben, sollten Sie weniger Beschwerden haben, aber Sie sind gefährdet, wenn jemand Ihr DNS entführt.quelle
known_hosts
. Warum? Kann ich nicht sagen "ssh connect to X, dessen öffentlicher Schlüssel Y ist"? Warum nicht? Wäre das nicht 100% sicher?