Ihr erstes Beispiel enthält einen ECDSA-Schlüssel ( ecdsa-sha2-nistp256
), der in OpenSSH 5.7 eingeführt wurde.
OpenSSH 4.5 unterstützt nur RSA- und DSA-Schlüssel ( ssh-rsa
und ssh-dss
) und ignoriert den Eintrag known_hosts.
Stellen Sie über OpenSSH_5.9p1 OpenSSL 1.0.1 eine Verbindung zu einem Server her, und es speichert ein .ssh / known_hosts mit dem folgenden Format:
|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
Kopieren Sie dann die Datei known_hosts auf einen anderen PC, auf dem OpenSSH_4.5p1 OpenSSL 0.9.8d ausgeführt wird, und es wird die Meldung "Authentizität kann nicht hergestellt werden, sind Sie sicher, dass Sie die Verbindung fortsetzen möchten" angezeigt, als wäre die Datei known_hosts nicht korrekt.
Wenn dieser zweite PC die known_hosts für denselben Server speichert, schreibt er dies im folgenden Format:
[10.2.3.4]:22 ssh-rsa AAAAAAAAAA/BBBBB/CCCCCC//DDDDDD
Gibt es eine Möglichkeit, zwischen den beiden Formaten zu konvertieren?
Ihr erstes Beispiel enthält einen ECDSA-Schlüssel ( ecdsa-sha2-nistp256
), der in OpenSSH 5.7 eingeführt wurde.
OpenSSH 4.5 unterstützt nur RSA- und DSA-Schlüssel ( ssh-rsa
und ssh-dss
) und ignoriert den Eintrag known_hosts.
Das erste Schlüsselformat, das Sie verwenden, ist ein Hash-Format. Es soll verhindern, dass jemand, der in Ihr Konto eingebrochen ist, weiß, mit welchen anderen Hosts er / sie sich möglicherweise mit Ihrem Kennwort und / oder Ihren SSH-Schlüsseln verbinden kann.
Es ist möglich, das Klartext-Format in das Hash-Format zu konvertieren, nicht jedoch umgekehrt. Zu diesem Zweck gibt es im Internet verschiedene Skripte.
Wenn Sie sich nicht so sehr um dieses Problem sorgen, können Sie es jederzeit hinzufügen
HashKnownHosts no
auf, ~/.ssh/config
um den zu deaktivieren known_hosts
Hashing. Weitere Informationen finden Sie in ssh_config (5) .