1042 votes

Calculer l'empreinte de la clé RSA

Je dois faire l'audit de la clé SSH pour GitHub, mais je ne suis pas sûr de comment trouver l'empreinte de ma clé RSA. J'ai initialement suivi un guide pour générer une clé SSH sur Linux.

Quelle est la commande que je dois entrer pour trouver l'empreinte de ma clé RSA actuelle ?

27 votes

FWIW, je reviens toujours sur ce post parce que Github est l'endroit où je vois des empreintes digitales sur les clés et je veux m'assurer d'utiliser la clé privée correspondante. Peut-être qu'il justifie une balise Github puisque ce post aide cette demande liée à Github?

5 votes

@hamx0r Je suis revenu sur ce post parce que Gitlab utilise également ces empreintes digitales...

1 votes

Je suis arrivé à cause de Travis, qui l'utilise également. :D

13voto

Casey Points 19286

Le moyen le plus rapide si vos clés sont dans un agent SSH:

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

Chaque clé dans l'agent sera affichée comme suit:

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

3 votes

Il me fallait un moyen plus rapide pour faire correspondre mes clés avec celles de mon compte GitHub et cette réponse m'a aidé à le faire.

9voto

geeklizzard Points 44
$ ssh-add -l 

fonctionnera également sur Mac OS X v10.8 (Mountain Lion) - v10.10 (Yosemite).

Il prend également en charge l'option -E pour spécifier le format de l'empreinte digitale. Ainsi, si MD5 est nécessaire (ce qui est souvent le cas, par exemple pour GitHub), il suffit d'ajouter -E md5 à la commande.

0 votes

+1 pour la réponse la plus simple. À partir de man ssh-add, l'option -l est " Affiche les empreintes digitales de toutes les identités actuellement représentées par l'agent"

8voto

Dmitri R117 Points 842

Sous Windows, si vous utilisez PuTTY/Pageant, l'empreinte est affichée lorsque vous chargez votre clé PuTTY (.ppk) dans Pageant. C'est assez utile au cas où vous oublieriez celle que vous utilisez.

Insérer la description de l'image ici

3 votes

Merci, Parfois nous les utilisateurs de Linux oublions Windows, en particulier comme l'a mentionné l'OP putty.

0 votes

@DmitriR117 pourquoi avez-vous peint la clé publique en noir alors qu'elle peut être connue de tout le monde?

0 votes

Je suppose qu'il y a toujours eu un petit peu de... Paranoïa :) Et si les quants pouvaient l'utiliser contre moi un jour ?!

7voto

Azrathud Points 73

Ceci est la fonction shell que j'utilise pour obtenir l'empreinte de ma clé SSH afin de créer des droplets DigitalOcean :

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

Placez-le dans votre ~/.bashrc, exécutez la commande source, puis vous pouvez obtenir l'empreinte digitale comme ceci :

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

4voto

Dan Dascalescu Points 8165

Parfois, vous pouvez avoir tout un tas de clés dans votre répertoire ~/.ssh, et ne pas savoir laquelle correspond à l'empreinte affichée par GitHub/Gitlab/etc.

Voici comment afficher les noms de fichier des clés et les empreintes MD5 de toutes les clés dans votre répertoire ~/.ssh:

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

(Pour savoir ce que signifient les paramètres, consultez cette réponse sur la commande find.

Notez que les fichiers privé/public appartenant à une même clé ont la même empreinte, donc vous verrez des doublons.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X