SSH (Secure Shell) est un protocole de réseau cryptographique qui permet aux administrateurs de contrôler à système à distance.
Les clés SSH offrent un moyen plus sûr de se connecter à un serveur avec SSH que d’utiliser un mot de passe seul.
Alors qu’un mot de passe peut éventuellement être cracké avec une attaque par force brute, les clés SSH sont presque impossibles à déchiffrer par la seule force brute.
En effet, avec des clés 2048 bits et l’algorithme ECDSA, les clés SSH sont le moyen le plus sûr pour vous authentifier sur un serveur SSH.
Cet article vous guide pour créer et générer la paires de clés SSH.
Vous aurez aussi la marche à suivre afin de la placer sur le serveur pour vous authentifier avec une clé SSH sans mot de passe.

Table des matières
Les clés SSH : comment ça marche
La génération d’une paire de clés vous fournit deux longues chaînes de caractères: une clé publique et une clé privée.
Vous pouvez placer la clé publique sur n’importe quel serveur, puis la déverrouiller en vous y connectant avec un client qui possède déjà la clé privée.
Lorsque les deux correspondent, le système se déverrouille sans avoir besoin d’un mot de passe.
Vous pouvez augmenter encore plus la sécurité en protégeant la clé privée avec une phrase secrète.
Le protocole SSH-2 prend en charge plusieurs algorithmes de chiffrement comme RSA, DSA, ECDSA et Ed25519.
C’est donc une authentification par chiffrement asymétrique.
Ainsi, la paire de clés SSH se composent :
- D’une clé publique : que l’on copie sur le ou les serveurs SSH
- D’une clé privée : que l’on stocke dans le client SSH et qu’il ne faut en cas qu’à se faire pirater.
Pour rappel, voici les fichiers de configuration SSH :
- /etc/ssh/sshd_config : Fichier de configuration du serveur OpenSSH. /etc/ssh/ssh_config : Fichier de configuration du client OpenSSH.
- ~/.ssh/ : Dossier de configuration SSH de l’utilisateur
- ~/.ssh/authorized_keys ou ~/.ssh/authorized_keys2 (déprécié) : Liste les clés publiques (RSA / DSA) de l’utilisateur.
Enfin voici les algorithmes et type de clé SSH à utiliser et en pas utiliser selon la longueur de la clé.
Algorithme / Type | Longueur de la clé | Description |
RSA | 15360 bits | Très sûr |
ECDSA / Ed25519 | 512 bits | Très sûr |
RSA | 3072 bits | Sûr |
ECDSA / Ed25519 | 256 bits | Sûr |
RSA | 1024 bits | Relativement Sûr |
ECDSA / Ed25519 | 160 bits | Relativement Sûr |
DSA | A EVITER |
Comment générer les clés SSH
Sur Linux
Le client SSH sur Windows 10 et Linux fonctionne de la même manière.
- Ouvrez un terminal
- Restez connecté avec l’utilisateur avec lequel vous souhaitez vous connecter au serveur SSH. N’utilisez pas sudo, puis saisissez :
ssh-keygen -t rsa
- Appuyez sur entrée sur le fichier à générer : ~/.ssh/id_rsa
- Ensuite saisissez une phrase de mot de passe qui sera à utiliser à chaque connexion
A partir de là, votre paire de clés SSH est générée.
Il faut ensuite transférer la clé publique sur le serveur SSH, pour cela, on peut utiliser ssh-copy-id :
ssh-copy-id <utilisateur>@<host>
Avec le client OpenSSH de Windows 10, Windows 11
Windows 10, 11 possède en natif un client SSH que l’on peut utiliser en invite de commandes.
Son fonctionnement est identique à celui de Linux.
Sur Windows avec PuTTy
PuTTy est un client SSH populaire sur Windows.
Il gère aussi l’authentification par clés SSH.
- Télécharger et installer PuTTy via le setup MSI
- Lancez PuTTYgen, l’utilitaire pour gérer les clés SSH
- Cliquez sur le bouton Generate afin générer les clés SSH
Notez que le menu Conversions vous permet d’importer des clés SSH déjà générées.
- Bougez la souris pour terminer la génération des clés SSH
- Saisissez la phrase de mot de passe dans Key passphrase et confirm passphrase
- puis cliquez sur le bouton Save private key afin d’enregistrer le fichier de clés
- Enregistrez le fichier PPK dans votre PC dans un emplacement sûr
Stockez le fichier dans un emplacement sécurisé.
Ensuite il faut installer la clé publique sur le serveur SSH :
- Enfin connectez vous au à la machine cible
- Éditez le fichier ~/.ssh/authorized_keys
- Copiez/collez le contenu du champs Key / Public key for pasting info OpenSSH authorized_keys file
- Puis enregistrez le contenu du fichier authorized_keys
Avec MobaXTerm
MobaXTerm est un client SSH très complet qui existe en version gratuite.
Pour une présentation complète suivez ce lien :
Il gère l’authentification par échange de clé SSH avec les algorithmes RSA, DSA, ECDSA, ed25519 et SSH1 (RSA).
- Ouvrez MobaXTerm
- Puis cliquez sur le menu Tools puis MobaKeyGen SSH (SH Key Generator)
- Sur la nouvelle fenêtre, en bas choisissez le type de clé. Si vous ne savez pas, laisse sur RSA
- Puis cliquez sur Generate
- Les clés publiques et privées se génèrent
- Dans Key passphrase, saisissez une phrase qui servira de mot de passe
- Puis cliquez save private key afin d’enregistrer le fichiers de la clé privée dans un emplacement sûr de votre PC
- Connectez-vous au serveur distant puis éditez le fichier ~/.ssh/authorized_keys
- Copiez/collez le contenu de clé SSH publique qui se trouve dans key. Il s’agit du contenu qui débute par ssh-rsa ou ssh-dsa, ssh-ecdsa, etc.
- Puis enregistrez le contenu du fichier authorized_keys
Se connecter à un serveur SSH avec des clés SSH
Depuis un client Linux
- Ouvrez un terminal
- Utilisez la commande SSH pour vous connecter à votre serveur SSH. Utilisez la syntaxe suivante :
ssh <user>@<host>
- Le mot de passe de verrouillage ou passphrase vous ait alors demandé, saisissez ce dernier
Si vous désirez automatiser la connexion SSH via SSH-Agent cela est possible.
SSH agent est un programme qui gère les clés SSH privées pour vous et facilite l’authentification sécurisée sans avoir à entrer votre clé de phrase à chaque fois que vous accédez à un serveur distant ou effectuez une opération nécessitant votre clé SSH.
Suivez alors ce tutoriel : SSH agent : authentification par clés SSH avec ou sans keychain
Depuis client Windows Putty
- Ouvrez PuTTy sur PC Windows
- Indiquez le host
- Saisissez le nom d’une sessions dans Saved Session
- puis cliquez sur Save
- Puis à gauche, allez dans le menu Connection > SSH > Auth
- Dans Private key file for authentification, cliquez sur Browse
- Sélectionnez le fichier PPK généré précédemment
- Retournez dans le menu session puis cliquez sur Save pour enregistrer les changements
- Lancez la connexion SSH en cliquant sur Open
- Saisissez le nom d’utilisateur puis la passphrase
- La connexion SSH doit alors fonctionner via une authentification par clé SSH
avec MobaXTerm
- Dans MobaXterm, sur sessions, faites un clic droit puis New Session
- Saisissez les informations de connexion avec l’adresse IP du serveur distant et le nom d’utilisateur
- Enfin cochez Use private key
- Puis cliquez sur l’icône feuille pour naviguer dans vos dossiers pour sélectionner le fichier de clé privé
Liens
- Générer et se connecter en SSH avec des clés SSH
- SSH : comment ça marche
- Comment générer des clés SSH et se connecter avec OpenSSH de Windows 10, 11
- Comment se connecter en SSH à un serveur distant depuis Windows
- Comment se connecter en SSH à un serveur distant depuis Linux
- SSH agent : authentification par clés SSH avec ou sans keychain
- Activer et installer le serveur OpenSSH sur Windows 10
- Comment activer et utiliser le client OpenSSH de Windows 10
- Exécuter une ou plusieurs commandes à distance en SSH
- Comment configurer le tunnel SSH (redirection de port)
- Sécuriser un serveur SSH
- SSH : bloquer une adresse IP
- Comment protéger SSH avec Fail2ban des attaques DoS / Bruteforce
- Remmina : logiciel de bureau à distance RDP, VNC, SSH pour Linux
- MobaXterm client SSH, RDP pour Windows
- Configurer un port knocking pour protéger SSH