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.
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
8 votes
Pour tous ceux qui utilisent Linux et qui "reviennent souvent sur cette page", copiez ceci dans votre bashrc:
function fingerprint() { ssh-keygen -lf $1 -E md5 }
Ensuite (après avoir sourcé le bashrc), vous pouvez obtenir une empreinte digitale avecfingerprint ~/.ssh/key_file
3 votes
Pour ceux qui essaient la fonction @JeffDiederiks et se demandent pourquoi cela ne fonctionne pas, les fonctions Bash ont besoin d'un point-virgule final
;
dans le corps, utilisez doncfunction fingerprint() { ssh-keygen -lf $1 -E md5; }
à la place.0 votes
Je suis arrivé ici grâce à CircleCI.