Exécutez la commande suivante pour récupérer l'empreinte digitale SHA256 de votre clé SSH (-l
signifie "list" au lieu de créer une nouvelle clé, -f
signifie "nom de fichier") :
$ ssh-keygen -lf /chemin/vers/clé/ssh
Par exemple, sur ma machine, la commande que j'ai exécutée était (en utilisant la clé publique RSA) :
$ ssh-keygen -lf ~/.ssh/id_rsa.pub
2048 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff /Users/username/.ssh/id_rsa.pub (RSA)
Pour obtenir le format d'empreinte digitale GitHub (MD5) avec les nouvelles versions de ssh-keygen, exécutez :
$ ssh-keygen -E md5 -lf
Informations supplémentaires :
ssh-keygen -lf
fonctionne également sur les fichiers known_hosts
et authorized_keys
.
Pour trouver la plupart des clés publiques sur les systèmes Linux/Unix/OS X, exécutez :
$ find /etc/ssh /home/*/.ssh /Users/*/.ssh -name '*.pub' -o -name 'authorized_keys' -o -name 'known_hosts'
(Si vous souhaitez voir à l'intérieur des homedirs d'autres utilisateurs, vous devrez être root ou utiliser sudo.)
Le ssh-add -l
est très similaire, mais liste les empreintes digitales des clés ajoutées à votre agent. (Les utilisateurs OS X noter que l'authentification magique sans mot de passe SSH via Keychain n'est pas la même que l'utilisation de ssh-agent.)
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.