So berechnen Sie den GitLab-Bereitstellungsschlüssel-Fingerabdruck aus dem ssh-Schlüsselpaar

462
rlandster

Beim Anzeigen von "Deploy Keys" in den Einstellungen eines GitLab-Repositorys haben die Schlüssel einen "Namen" und auch einen Fingerabdruck. Der Fingerabdruck sieht so aus:

2b:be:a7:7f:44:64:89:8d:e3:f7:ea:3c:12:c9:e5:e7 

Ich versuche herauszufinden, welches meiner ssh-Schlüsselpaare diesem entspricht. Wie berechne ich diese Zeichenfolge aus einem vorhandenen ssh-Schlüsselpaar?

0

1 Antwort auf die Frage

0
grawity

SSH-Schlüssel-Fingerabdrücke sind einfach Hashes des gesamten öffentlichen Schlüsselblocks (der große AAAA...=Fleck in Ihrem id_rsa.pub). Zuerst wird dieses Feld von Base64 decodiert, dann wird der MD5-Hash berechnet und in Hex gedruckt.

Sie können die Fingerabdrücke manuell berechnen ...

cat id_rsa.pub | awk '' | base64 -d | md5sum  cat id_rsa.pub | awk '' | base64 -d | openssl dgst -md5 -c 

... oder bitten Sie OpenSSH, dies zu tun (bequemer, da auch private Schlüsseldateien akzeptiert werden):

ssh-keygen -l -f <keyfile> 

Neuere OpenSSH-Versionen verwenden stattdessen einen SHA256-Hash und kodieren den Fingerabdruck in Base64 und nicht in Hexadezimalwerte. Um ein neues OpenSSH ssh-keygen zu erzwingen, um den MD5-Fingerabdruck anzuzeigen, fügen Sie einfach Folgendes hinzu -E md5:

ssh-keygen -l -f <keyfile> -E md5