1101 Stimmen

RSA-Schlüssel-Fingerabdruck berechnen

Ich muss die SSH-Schlüsselprüfung für GitHub durchführen, bin mir aber nicht sicher, wie ich meinen RSA-Schlüssel-Fingerprint finden kann. Ursprünglich bin ich einer Anleitung gefolgt, um einen SSH-Schlüssel unter Linux zu erzeugen.

Wie lautet der Befehl, den ich eingeben muss, um meinen aktuellen RSA-Schlüssel-Fingerabdruck zu finden?

14voto

cmcginty Punkte 106764

Der schnellste Weg, wenn sich Ihre Schlüssel in einem SSH-Agenten befinden:

$ ssh-add -L | ssh-keygen -E md5 -lf /dev/stdin

Jeder Schlüssel im Agenten wird als gedruckt:

4096 MD5:8f:c9:dc:40:ec:9e:dc:65:74:f7:20:c1:29:d1:e8:5a /Users/cmcginty/.ssh/id_rsa (RSA)

10voto

geeklizzard Punkte 134
$ ssh-add -l 

wird auch arbeiten an Mac OS X v10.8 (Mountain Lion) - v10.10 (Yosemite).

Es unterstützt auch die Option -E um das Format des Fingerabdrucks zu spezifizieren. Falls also MD5 benötigt wird (es wird oft verwendet, z. B. von GitHub), fügen Sie einfach -E md5 zum Befehl.

8voto

Dmitri R117 Punkte 1882

Wenn Sie unter Windows das Programm PuTTY /Pageant wird der Fingerabdruck aufgelistet, wenn Sie Ihren PuTTY-Schlüssel (.ppk) in Pageant laden. Das ist sehr nützlich, falls Sie vergessen, welchen Schlüssel Sie verwenden.

Enter image description here

8voto

Bryce Guinta Punkte 2922

Dies ist die Shell-Funktion, die ich verwende, um den Fingerabdruck meines SSH-Schlüssels für die Erstellung DigitalOcean Tröpfchen:

fingerprint() {
    pubkeypath="$1"
    ssh-keygen -E md5 -lf "$pubkeypath" | awk '{ print $2 }' | cut -c 5-
}

Stecken Sie es in Ihr ~/.bashrc und dann können Sie den Fingerabdruck so erhalten:

$ fingerprint ~/.ssh/id_rsa.pub
d2:47:0a:87:30:a0:c0:df:6b:42:19:55:b4:f3:09:b9

5voto

Dan Dascalescu Punkte 125523

Manchmal kann man ein Bündel von Schlüsseln in seinem ~/.ssh Verzeichnis und wissen nicht, welches dem von GitHub/Gitlab/etc. angezeigten Fingerabdruck entspricht.

So zeigen Sie die Schlüsseldateinamen und MD5-Fingerprints aller Schlüssel in Ihrem ~/.ssh Verzeichnis:

cd ~/.ssh
find . -type f -exec printf "\n{}\n" \; -exec ssh-keygen -E md5 -lf {} \;

(Was die Parameter bedeuten, finden Sie unter diese Antwort über die find Befehl .

Beachten Sie, dass die privaten/öffentlichen Dateien, die zu einem Schlüssel gehören, denselben Fingerabdruck haben, so dass Sie Duplikate sehen werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X