Lecteur d'empreinte de clé SSH | SHA-256 et MD5 d'une clé publique
Collez une clé publique OpenSSH et cet outil affiche ses empreintes SHA-256 et MD5, le type de clé, la longueur en bits et le commentaire. C'est l'équivalent, dans le navigateur, de la commande ssh-keygen -lf cle.pub, sans ouvrir de terminal.
💡 À propos de cet outil
La première fois que vous vous connectez en SSH à un nouveau serveur, le message classique s'affiche : The authenticity of host '...' can't be established. ED25519 key fingerprint is SHA256:.... Cette chaîne est exactement ce que calcule l'outil. Collez la clé publique du serveur (ou votre propre fichier .pub) et comparez l'empreinte à celle que vous attendez avant de taper yes.
L'outil est aussi utile après l'ajout d'une clé à GitHub, GitLab ou au fichier authorized_keys d'un serveur : il confirme qu'un fichier .pub produit bien l'empreinte affichée par la plateforme, ce qui vous indique à quelle clé physique correspond une empreinte listée. Le format MD5 (les paires hexadécimales séparées par des deux-points, héritées des anciennes versions de ssh-keygen) apparaît encore dans des procédures et des outils plus anciens ; il est donc présenté à côté du SHA-256.
La clé que vous collez est analysée entièrement dans votre navigateur et n'est jamais envoyée à un serveur ; tout le calcul s'effectue sur votre propre appareil.
🧐 Questions fréquentes
Puis-je coller une clé privée ?
Non, collez une clé publique : la ligne unique qui commence par ssh-ed25519 AAAA..., ssh-rsa AAAA..., etc. La clé privée (qui commence par -----BEGIN OPENSSH PRIVATE KEY-----) est inutile, car l'empreinte se calcule à partir de la seule partie publique.
Faut-il regarder l'empreinte SHA-256 ou MD5 ?
OpenSSH récent utilise SHA-256 par défaut (la chaîne Base64 commençant par SHA256:). MD5 (32 chiffres hexadécimaux par paires séparées par des deux-points) est le format ancien, utile uniquement pour comparer avec une documentation ou des outils hérités. Pour tout nouvel usage, comparez la valeur SHA-256.
Quels types de clés sont pris en charge ? RSA, Ed25519, Ed448, ECDSA (P-256 / P-384 / P-521), DSA, ainsi que les clés FIDO Ed25519-SK et ECDSA-SK. La longueur en bits est lue depuis le module pour RSA et depuis la courbe pour les clés à courbe elliptique.
Le résultat correspond-il à ssh-keygen -lf ?
Oui. Le SHA-256 est calculé avec l'API Web Crypto native du navigateur et affiché dans le même format Base64 (sans remplissage final) que celui imprimé par ssh-keygen. Le MD5 correspond à la sortie de ssh-keygen -E md5.
📚 Pourquoi une empreinte plutôt que la clé entière
Une clé publique fait de quelques centaines à quelques milliers de bits, trop pour la comparer à l'œil. Une fonction de hachage réduit ce bloc à une chaîne courte et de longueur fixe : l'empreinte, que l'on peut lire à voix haute ou coller dans une conversation pour confirmer une correspondance. SSH s'est appuyé sur MD5 pendant des années car, pour comparer des clés, la concision et la lisibilité comptaient plus que la résistance aux collisions. OpenSSH 6.8 a fait de SHA-256 la valeur par défaut, d'où la chaîne Base64 d'environ 44 caractères affichée aujourd'hui. La propriété à sens unique est essentielle : des empreintes identiques confirment que deux clés le sont aussi, mais on ne peut jamais reconstruire la clé à partir de son empreinte.