Empreintes digitales d'une clé RSA - GitHub ne correspond pas?
Je me demande comment fonctionnent ces empreintes digitales RSA. J'ai un compte GitHub et j'ai créé une paire de clés RSA pour configurer une connexion ssh. Ensuite, j'ai suivi les instructions ... La première fois que je me connecte à mon GitHub, il me donne une empreinte digitale RSA SHA256:nThbkt6JwfF............Ok, je fais cela pour le processus d'apprentissage donc je cherche sur Google ce que cela signifie et j'essaie de générer une empreinte digitale à partir de ma clé RSA - et cela devrait correspond à celui de mon compte GitHub, non? Mais ça ne marche pas, ce que j'obtiens après utilisation: ce ssh-keygen -lf ~/.ssh/id_rsa n'est pas pareil c'est pareilSHA256: t6Rjff8djE........
Est-ce que je fais quelque chose de mal ici dans mon approche pour voir si l'empreinte digitale donnée est légitime?
Réponses
SSH nécessite deux paires de clés public-privé. Un côté serveur et un côté client. En termes simples, lorsque vous voulez crypter quelque chose qui va au serveur, vous utilisez la clé publique du serveur (elle est décryptée côté serveur à l'aide de la clé privée du serveur). Lorsque le serveur vous envoie quelque chose, il utilise votre clé publique (vous le déchiffrez en utilisant votre clé privée stockée sur votre machine).
Le serveur présente son empreinte digitale (pas l'empreinte digitale de votre certificat). Ainsi, vous pouvez valider la clé publique présentée par le serveur. Habituellement, les empreintes digitales sont mises en cache afin que ssh ne vous invite pas la prochaine fois.
Lorsque vous configurez votre clé publique sur le github, vous dites essentiellement à github quelle clé vous utiliserez pour l'authentification et l'échange de clés. Github «a confiance» que cette clé vient de vous car vous vous authentifiez avec votre mot de passe pour la télécharger. En théorie, vous seul pouvez décrypter vos données car vous seul disposez de la clé privée correspondante. En téléchargeant la clé, vous établissez une relation de confiance entre votre machine et le serveur GitHub.
Si l'empreinte digitale de la clé que vous avez téléchargée est différente de l'empreinte digitale de la clé sur votre machine est très probablement causée par:
- Empreintes digitales incorrectes.
- La clé d'origine a été écrasée en exécutant la commande de génération plusieurs fois.
- Empreinte digitale déroutante provenant du serveur (empreinte digitale du serveur) avec votre propre empreinte digitale de certificat.