L’empreinte digitale est basée sur la clé publique de l’hôte, généralement basée sur "/etc/ssh/ssh_host_rsa_key.pub". C’est généralement pour faciliter l’identification / la vérification de l’hôte auquel vous vous connectez.
Si l'empreinte digitale change, la machine à laquelle vous vous connectez a changé de clé publique. Ce n'est peut-être pas une mauvaise chose (cela se produit lors de la réinstallation de ssh), mais cela peut également indiquer que vous vous connectez à une autre machine du même domaine / IP (se produit lorsque vous vous connectez via un équilibreur de charge) ou que vous vous connectez. sont ciblés par une attaque intercepteur, dans laquelle l'attaquant intercepte / redirige votre connexion ssh pour se connecter à un autre hôte qui pourrait surveiller votre utilisateur / pw.
En bout de ligne: si vous êtes averti d'une empreinte digitale modifiée, soyez prudent et vérifiez que vous vous connectez réellement au bon hôte via une connexion sécurisée. Bien que la plupart du temps, cela soit sans danger, cela peut indiquer un problème potentiel
Voir: http://www.lysium.de/blog/index.php?/archives/186-How-to-get-ssh-server-fingerprint-information.html
et: http://en.wikipedia.org/ wiki / clé_fichier_public
~/.ssh/known_hosts
. Ainsi, lorsque vous vous connecterez au serveur, votre client SSH reconnaîtra ce serveur, car vous avez enregistré sa clé publique dansknown_hosts
. Par conséquent, vous ne devriez jamais dire "oui" lorsque le client SSH vous indique que "l'authenticité de l'hôte ne peut pas être établie". Vous devez toujours ajouter la clé publique du serveur au préalable.~/.ssh/known_hosts
préalable la clé publique du serveur à votre fichier et ne jamais dire oui lorsque votre client SSH vous indique "L'authenticité du client ne peut pas être établie" ou lorsqu'elle vous indique "La clé publique du serveur a été modifié".Vous pouvez générer une empreinte digitale pour une clé publique de la
ssh-keygen
manière suivante:Exemple concret (si vous utilisez une clé publique RSA):
La première partie
(2048)
est la longueur de la clé en bits, la deuxième partie(00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff)
est l’empreinte digitale de la clé publique et la troisième partie est l’emplacement du fichier de clé publique elle-même.la source
ssh-keygen -lf
fera ce que vous voulez.ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
. Il montre l'empreinte qui est également affichée sur les connexions SSH à localhost.ssh-keygen
rapportéessha256
. Afin d'obtenir desmd5
empreintes digitales, j'ai courussh-keygen -l -E md5 -f ~/.ssh/id_rsa.pub
. #archlinuxssh -o FingerprintHash=md5
ou l'équivalent dansssh_config
et sur les choses qui utilisentssh
commescp
.L’empreinte digitale est le MD5 recouvrant les données binaires de la clé publique codée en Base64.
Le md5sum 6530389635564f6464e8e3a47d593e19 est l’empreinte digitale affichée lors de la génération de la clé, mais sans les deux points de séparation.
Toutefois, si vous utilisez les empreintes digitales affichées par Amazon dans la console EC2 Key Pairs, il se peut que ce soit une bête différente . S'il s'agit d'une chaîne hexadécimale de 32 chiffres, il s'agit de l'empreinte digitale de clé publique MD5 SSH standard ci-dessus. Mais s'il s'agit de 40 chiffres hexadécimaux, il s'agit en fait d'une empreinte digitale calculée en prenant le SHA1 de la clé privée au format PKCS # 8:
la source
awk '{print $2}' /path/to/keyfile.pub
ou similaire.cat id_rsa.pub | cut -d' ' -f2 | base64 -d | md5sum
Si vous voulez vérifier un fichier de clé SSH pour voir s'il est identique à ce qui est rapporté comme "Clé de déploiement" par github, ceci est pour vous ...
Depuis l'URL privée: https://github.com/<username>/<repo_name>/settings/keys, vous verrez
Au terminal:
Vous remarquerez que vous obtenez la même empreinte digitale pour les clés privée et publique.
Cette même commande peut être combinée avec une fonctionnalité intéressante de GitHub, à savoir le fait qu'ils servent publiquement les clés publiques SSH des utilisateurs à l'adresse https://github.com/<username>.keys.
Voici un one-liner que vous pouvez utiliser pour en tirer parti.
la source
Générera les empreintes de toutes les clés publiques configurées sur une instance sshd.
Ceux-ci peuvent ensuite être placés dans les enregistrements DNS SSHFP .
la source