Qu'est-ce qu'une paire de clés SSH ?

Une paire de clés SSH est un ensemble de deux clés cryptographiques utilisées pour authentifier un utilisateur auprès d'un serveur distant sans mot de passe. La paire se compose d'une clé privée, conservée secrète sur la machine de l'utilisateur, et d'une clé publique, placée sur le serveur distant. Lors de la connexion, le serveur demande au client de prouver la possession de la clé privée — sans jamais transmettre la clé privée elle-même. Cette approche asymétrique est considérablement plus sécurisée que l'authentification par mot de passe car il n'y a pas de secret partagé qui peut être intercepté ou soumis à une attaque par force brute.

Les paires de clés SSH sont générées à l'aide d'algorithmes de cryptographie à clé publique. Les plus largement utilisés sont Ed25519, un algorithme moderne de courbe elliptique connu pour sa petite taille de clé et sa haute sécurité, et RSA, un algorithme éprouvé qui repose sur la difficulté de factoriser de grands nombres entiers. Ed25519 est recommandé pour les nouvelles clés en raison de ses performances supérieures et de sa résistance aux attaques par canal auxiliaire.

Description de l'outil

Le générateur de paire de clés SSH crée des paires de clés SSH Ed25519 ou RSA cryptographiquement sécurisées directement dans votre navigateur en utilisant l'API Web Crypto. Aucune donnée n'est envoyée à un serveur — tout le matériel de clé est généré localement sur votre appareil. Vous pouvez éventuellement ajouter un commentaire (généralement user@hostname) pour aider à identifier la clé ultérieurement. Les clés publiques et privées générées peuvent être copiées dans le presse-papiers ou téléchargées sous forme de fichiers, prêtes à être utilisées avec ssh-copy-id ou tout client SSH.

Exemples

Clé publique Ed25519

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@hostname

Clé publique RSA (4096 bits)

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2... user@hostname

Clé privée (format OpenSSH)

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAAB...
-----END OPENSSH PRIVATE KEY-----

Fonctionnalités

  • Support Ed25519 et RSA : Choisissez entre un algorithme moderne de courbe elliptique ou l'algorithme RSA classique
  • Options de taille de clé RSA : Sélectionnez des clés RSA de 2048, 3072 ou 4096 bits pour équilibrer sécurité et performance
  • Champ de commentaire optionnel : Attachez un commentaire de style user@hostname pour aider à identifier la clé sur plusieurs machines
  • Génération côté client : Les clés sont générées entièrement dans votre navigateur en utilisant l'API Web Crypto — rien n'est transmis ni stocké
  • Téléchargement en un clic : Enregistrez les fichiers de clé publique et privée directement avec les noms de fichier corrects (id_ed25519, id_ed25519.pub, id_rsa, id_rsa.pub)

Cas d'utilisation

  • Configuration de l'accès au serveur : Générez une paire de clés une fois et déployez la clé publique sur n'importe quel nombre de serveurs Linux/Unix distants via ~/.ssh/authorized_keys pour activer la connexion SSH sans mot de passe
  • Authentification d'hébergement Git : Ajoutez la clé publique à GitHub, GitLab ou Bitbucket pour authentifier les opérations git push et git pull sans entrer les identifiants à chaque fois
  • Pipelines CI/CD : Créez une paire de clés de déploiement dédiée pour les scripts automatisés ou les agents de build qui ont besoin d'un accès SSH aux serveurs ou aux référentiels privés

Comment ça marche

La génération de clés utilise l'API crypto.subtle intégrée au navigateur (Web Crypto). Pour Ed25519, le scalaire privé brut de 32 octets et la clé publique de 32 octets sont empaquetés dans le format de fil OpenSSH (openssh-key-v1). Pour RSA, la clé est exportée au format PKCS#8 DER et enveloppée dans une enveloppe PEM standard. Le blob de clé publique est codé au format de fil SSH (nom d'algorithme préfixé par la longueur suivi du matériel de clé) et encodé en Base64, correspondant au format attendu par le fichier authorized_keys d'OpenSSH.

Conseils

  • Après le téléchargement, définissez les permissions correctes sur le fichier de clé privée : chmod 600 ~/.ssh/id_ed25519. SSH refusera d'utiliser une clé privée qui est lisible par d'autres utilisateurs.
  • Utilisez Ed25519 sauf si vous avez besoin de compatibilité avec les anciens systèmes qui ne le supportent pas. Il produit des clés plus courtes et est plus rapide que RSA.
  • Le champ de commentaire n'affecte pas la force cryptographique de la clé — il est purement pour l'identification humaine et peut être modifié ultérieurement avec ssh-keygen -c.
  • Pour une compatibilité RSA maximale avec les serveurs hérités, utilisez des clés de 4096 bits. Pour les serveurs modernes, Ed25519 est préféré indépendamment de la taille de la clé RSA.