Wenn Sie sich mit einem neuen / unbekannten Server verbinden (mit neuem OpenSSH), zum Beispiel:
ssh example.com
Sie erhalten den Fingerabdruck wie folgt:
The authenticity of host 'example.org (192.0.2.42)' can't be established.
RSA key fingerprint is SHA256:7KMZvJiITZ+HbOyqjNPV5AeC5As2GSZES5baxy1NIe4.
Are you sure you want to continue connecting (yes/no)?
Fingerabdrücke werden für den Server jedoch normalerweise in der folgenden Form angegeben:
f6:fc:1c:03:17:5f:67:4f:1f:0b:50:5a:9f:f9:30:e5
Wie kann ich die Authentizität überprüfen (ohne die Serveradministratoren zu nerven, um einen SHA256-Fingerabdruck bereitzustellen)?
Antworten:
Zuvor wurde der Fingerabdruck als hexadezimaler md5-Hash angegeben. Ab OpenSSH 6.8 wird der Fingerabdruck nun standardmäßig als base64 SHA256 angezeigt. Sie können diese nicht direkt vergleichen.
Sie haben auch eine neue Konfigurationsoption hinzugefügt
FingerprintHash
. Du kannst Gebenin Ihrem
~/.ssh/config
zu den alten (zurückzukehren weniger sicher ) Standard oder verwenden Sie diese Option für den einmaligen Gebrauch:was würde den Fingerabdruck als geben
Serveradministratoren stellen hoffentlich in naher Zukunft beide Arten von Fingerabdrücken zur Verfügung.
BEARBEITEN:
Wie in den Arch Linux-Foren angegeben , gibt es auch eine dritte Option:
BEARBEITEN:
Sie können den Hash eines beliebigen Schlüssels wie im OpenSSH-Kochbuch angegeben generieren :
Rufen Sie den Schlüssel ab:
ssh-keyscan example.org > key.pub
/etc/ssh
Generiere den Hash:
key.pub
oder führen Sie sie ausssh-keyscan -t rsa example.org > key.pub
ssh-keygen -l -f key.pub
(Standard-Hash, abhängig von der OpenSSH-Version)ssh-keygen -l -f key.pub -E md5
(md5 auf aktuellem OpenSSH)awk '{print $2}' ssh_host_rsa_key.pub | base64 -d | sha256sum -b | awk '{print $1}' | xxd -r -p | base64
(sha256 auf alten OpenSSH)awk '{print $3}'
für neuere Versionen von ssh-keyscan mit beginnen, da sich das Format geändert hat.)quelle
ssh-keygen -lf
auf dem Server gibt mir nur den md5 Druck, und für das Leben von mir kann ich nicht finden , wie man den sha256 man entweder in den man - Seiten oder das www so weit kommen ...awk
1-Liner verwende (entspricht nicht dem von meinem Kunden angezeigten Hash)sha256sum -b | awk '{print $1}' | xxd -r -p
kann ersetzt werden, indemopenssl sha256 -binary
kein vim installiert wird. Resultierende Befehlszeile wäre:awk '{print $2}' ~/.ssh/id_rsa.pub | base64 -d | openssl sha256 -binary | base64
Gerade wurde ein kleines Bash-Skript erstellt, das eine Tabelle mit Fingerabdrücken für alle Schlüsselchiffren druckt, die auf dem Server (gemäß
/etc/ssh/sshd_config
) in beidenSSH-256
und inMD5
algo zulässig sind . Hier ist eine Beispielausgabe:Das Skript wird auch auf Servern mit der folgenden
SSH
Version ausgeführt6.8
(bevor die-E md5
Option hinzugefügt wurde).Bearbeiten: Aktualisierte Versionen für noch neuere Versionen von SSH, bei denen die Standard-Verschlüsselung jetzt mit Unterstützung für ASCII-Bilder umgestellt wurde.
Dies ist nur ein hübscher Ausdruck unter Verwendung der Informationen aus
JonnyJD
der Antwort. Vielen Dank.quelle
Es stellt sich heraus, dass ssh-keygen (irgendwann nach Version 6.6; vermutlich 6.8) eine
-E md5
Option hat, mit der der Fingerabdruck als md5-Fingerabdruck ausgegeben wird. Wenn Sie also die öffentliche Schlüsseldatei des Servers selbstständig abrufen können, können Sie sie fütternssh-keygen -E md5 -l -f ssh_host_rsa_key.pub
und Ihren vertrauten Fingerabdruck abrufen.quelle
Der folgende Einzeiler arbeitet (zumindest) an
Ubuntu 16.04,18.04 / Centos >= 7
(Getestet mit Servern:
openssh 3.9
-openssh 7.4
)Ausgabe:
quelle
versuchte zu modifizieren, um auch zufällige Kunst in die Tabelle zu bekommen:
... aber ich bin eigentlich kein Programmierer und das Skript funktioniert nicht wie erwartet. Würde mich freuen, wenn jemand helfen kann, zu beheben (auch aufzuräumen). Es wäre schön, zufällige sha256- und md5-Kunstbilder nebeneinander zu haben, um den Platz effizienter zu nutzen. Ich habe auch md5- und sha256-Befehle geändert, da die ursprünglichen Befehle für mich nicht funktionierten (wahrscheinlich zu neues System) - nur sha256 erschien in der Tabelle mit dem "=" - Zeichen am Ende, das nicht Teil des tatsächlichen Fingerabdrucks war und ihn nicht entfernen konnte.
(Entschuldigung, ich konnte keinen Kommentar abgeben, da ich mich vor kurzem registriert habe.)
quelle