Comment générer et configurer des clés SSH pour sécuriser l’authentification sur un serveur
Aug 20, 2026
/
By Faradilla A.
/
8 minutes de lecture
Les clés SSH permettent de vous authentifier sur un serveur distant à l’aide d’une paire de clés publique et privée plutôt qu’avec un mot de passe. Elles renforcent ainsi la sécurité des accès à distance et, avec un agent SSH, accélèrent la connexion en vous évitant de saisir un mot de passe à chaque connexion.
La clé privée reste sur votre ordinateur local et ne le quitte jamais, tandis que la clé publique est enregistrée sur le serveur et sert à vérifier la connexion.
La configuration des clés SSH se déroule en cinq étapes :
- Générez une paire de clés SSH.
- Enregistrez les clés et ajoutez une phrase de passe.
- Ajoutez la clé publique au serveur ou à hPanel.
- Testez l’authentification par clé SSH.
- Désactivez l’authentification par mot de passe une fois que la connexion par clé SSH fonctionne.
1. Réunissez les prérequis
Avant de générer des clés SSH, vous avez besoin de trois éléments :
- Un ordinateur local équipé d’un terminal. Si vous utilisez macOS ou Linux, vous pouvez utiliser le Terminal intégré. Sous Windows, vous pouvez utiliser PowerShell, le sous-système Windows pour Linux (WSL), Git Bash ou PuTTY pour SSH.
- Le nom d’utilisateur et l’adresse IP de votre serveur distant. Vous aurez besoin de ces deux informations pour copier la clé publique sur le serveur et tester la connexion.
- Un accès initial à votre serveur. Il peut s’agir d’une connexion par mot de passe, d’un accès à la console ou de hPanel. Vous devez disposer d’un moyen d’ajouter la clé publique avant de passer à l’authentification par clé SSH.
Si vous prévoyez de désactiver l’authentification par mot de passe après avoir configuré les clés SSH, vous devez également disposer des droits nécessaires pour modifier la configuration SSH du serveur.
Gardez votre session SSH actuelle ouverte lorsque vous modifiez les paramètres d’authentification. Si la nouvelle clé ne fonctionne pas et que vous avez déjà fermé votre seule session, vous risquez de ne plus pouvoir accéder au serveur.
2. Générez une paire de clés SSH
La génération d’une paire de clés SSH crée deux fichiers : une clé privée et une clé publique. Ed25519 est l’algorithme recommandé : il utilise une cryptographie robuste avec une clé compacte de 256 bits et fonctionne sur tous les systèmes modernes.
Si votre serveur ou votre client est plus ancien et ne prend pas en charge Ed25519, utilisez plutôt RSA avec une clé de 4 096 bits.
Ouvrez votre terminal et exécutez :
ssh-keygen -t ed25519

Pour RSA, utilisez :
ssh-keygen -t rsa -b 4096
La suite de ce tutoriel utilise les noms de fichiers Ed25519. Si vous avez généré une clé RSA, remplacez id_ed25519 par id_rsa partout où id_ed25519 apparaît.
Vous pouvez également ajouter un commentaire pour identifier la clé, ce qui est utile lorsque vous gérez plusieurs clés pour différents serveurs ou comptes :
ssh-keygen -t ed25519 -C "your-label"
Remplacez your-label par un libellé permettant d’identifier la clé, comme le nom d’un serveur ou d’un projet.
PuTTY utilise son propre format de clé et son propre générateur. Si vous utilisez PuTTY sous Windows, suivez plutôt notre guide pour générer des clés SSH avec PuTTY.
3. Choisissez l’emplacement de la clé et ajoutez une phrase de passe
Après avoir exécuté ssh-keygen, la commande vous demande où enregistrer la clé :
Enter file in which to save the key (/home/username/.ssh/id_ed25519):
Appuyez sur Entrée pour l’enregistrer dans le répertoire ~/.ssh par défaut, ou saisissez un chemin personnalisé si vous gérez plusieurs clés.
Si vous indiquez un nom de fichier qui existe déjà, ssh-keygen l’écrasera. Vérifiez que la clé existante n’est plus utilisée avant de continuer.
La commande vous demande ensuite de saisir une phrase de passe :
Enter passphrase (empty for no passphrase):
La phrase de passe est facultative, mais vivement recommandée. Elle chiffre la clé privée sur le disque. Ainsi, si quelqu’un accède à votre ordinateur, cette personne ne pourra pas utiliser la clé sans connaître la phrase de passe.
Choisissez une phrase de passe longue et unique. Une phrase ou une combinaison de mots sans rapport entre eux convient parfaitement.
Saisissez deux fois la phrase de passe pour la confirmer. La commande affiche ensuite une empreinte et une représentation graphique aléatoire (randomart) confirmant la création de la clé.
Vos deux fichiers de clés sont désormais enregistrés à l’emplacement indiqué. Le fichier de clé publique possède l’extension .pub, par exemple id_ed25519.pub. Le fichier de clé privée n’a pas d’extension.
4. Copiez la clé publique sur le serveur distant
La clé publique doit se trouver sur le serveur pour que l’authentification par clé SSH fonctionne. Le serveur l’utilise pour vérifier que votre ordinateur possède la clé privée correspondante. Seule la clé publique doit être copiée sur le serveur : ne copiez jamais votre fichier de clé privée.
Vous pouvez procéder de trois façons.
Option 1 : ajoutez la clé via hPanel
Les utilisateurs de VPS Hostinger peuvent ajouter la clé publique directement via hPanel :
- Ouvrez le fichier id_ed25519.pub dans un éditeur de texte et copiez son contenu.
- Connectez-vous à hPanel, puis accédez à VPS → votre serveur → Paramètres → Clés SSH.

- Cliquez sur + Clé SSH, collez la clé publique dans le champ Contenu de la clé SSH, puis cliquez sur Enregistrer.


Option 2 : utilisez ssh-copy-id
ssh-copy-id copie automatiquement la clé publique sur le serveur et permet ainsi une connexion SSH sans mot de passe à partir d’une connexion par mot de passe existante :
ssh-copy-id username@192.0.2.1
Remplacez username par le nom d’utilisateur de votre serveur et 192.0.2.1 par son adresse IP. Saisissez votre mot de passe lorsque vous y êtes invité. Si le transfert réussit, le message suivant s’affiche :
Number of key(s) added: 1
Option 3 : ajoutez la clé manuellement
Si ssh-copy-id n’est pas disponible, connectez-vous au serveur avec votre mot de passe et ajoutez manuellement la clé publique :
mkdir -p ~/.ssh chmod 700 ~/.ssh echo "your-public-key-content" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
Remplacez your-public-key-content par l’intégralité du contenu de votre fichier .pub.
5. Testez l’authentification par clé SSH
Testez la connexion avant d’apporter toute autre modification aux paramètres SSH de votre serveur :
ssh username@192.0.2.1
Si la connexion réussit, vous accédez directement à l’invite de commande du serveur ou êtes invité à saisir la phrase de passe de votre clé si vous en avez défini une. Si aucun mot de passe ne vous est demandé, l’authentification par clé SSH fonctionne.
Si le serveur vous demande toujours un mot de passe, les causes probables sont les suivantes :
- La clé publique n’a pas été ajoutée au bon compte utilisateur sur le serveur.
- La mauvaise clé privée est utilisée sur votre ordinateur local.
- L’authentification par mot de passe est toujours activée comme méthode de connexion de secours.
- Les permissions de ~/.ssh ou de authorized_keys sont trop permissives.
Vérifiez ces points avant de passer à l’étape suivante. Une erreur « Permission denied » ou une demande persistante de mot de passe indique généralement que le fichier authorized_keys est mal configuré ou que les permissions sont incorrectes sur le serveur.
6. Désactivez l’authentification par mot de passe une fois que les clés SSH fonctionnent
Une fois la connexion par clé SSH confirmée, désactiver l’authentification SSH par mot de passe permet d’éliminer l’un des vecteurs d’attaque les plus courants sur un serveur. Lorsque l’authentification par mot de passe est désactivée, les attaques par force brute et par bourrage d’identifiants ne peuvent plus la cibler.
Effectuez cette opération uniquement après avoir testé la connexion par clé SSH dans une autre session. Si vous désactivez l’authentification par mot de passe et que votre clé ne fonctionne pas, vous perdrez l’accès au serveur. Gardez au moins une session SSH active par mesure de sécurité.
Le processus consiste à modifier le fichier sshd_config sur votre serveur, à définir PasswordAuthentication sur no, puis à recharger le service SSH pour appliquer la modification.
Comment gérer les clés SSH en toute sécurité
La gestion des clés SSH couvre trois aspects : éviter de saisir vos phrases de passe à chaque connexion, organiser plusieurs clés sur différents serveurs et réagir rapidement en cas de perte ou de compromission d’une clé.
Utilisez ssh-agent pour gérer les clés protégées par une phrase de passe
ssh-agent s’exécute en arrière-plan et conserve vos clés privées déverrouillées pendant toute la durée d’une session. Une fois la clé ajoutée à l’agent, vous n’avez plus besoin de saisir sa phrase de passe à chaque connexion à un serveur.
Pour démarrer l’agent et ajouter une clé :
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519
Remplacez ~/.ssh/id_ed25519 par le chemin de votre clé privée s’il est différent. Pour vérifier que la clé a bien été ajoutée :
ssh-add -l
Cette commande répertorie toutes les identités actuellement chargées dans l’agent.
Les commandes ci-dessus fonctionnent sur toutes les distributions Linux. Pour les autres systèmes d’exploitation :
- macOS s’intègre à Keychain : ajoutez –apple-use-keychain à la commande ssh-add pour conserver la phrase de passe d’un redémarrage à l’autre.
- Les utilisateurs de PuTTY sous Windows peuvent utiliser Pageant, l’agent de clés de PuTTY, disponible sur la page de téléchargement de PuTTY.
Utilisez le fichier de configuration SSH pour plusieurs serveurs
Le fichier de configuration SSH permet de définir au même endroit les paramètres de connexion de chaque serveur, notamment son adresse, le nom d’utilisateur, le port et la clé privée. Vous n’avez ainsi pas besoin de les saisir à chaque connexion.
Ce fichier se trouve dans ~/.ssh/config. Voici un exemple d’entrée :
Host my-server HostName 192.0.2.1 User username IdentityFile ~/.ssh/id_ed25519 Port 22
Une fois cette configuration en place, ssh my-server établit la connexion à l’aide des paramètres définis ci-dessus. Vous pouvez ajouter autant d’entrées que nécessaire, à raison d’une par serveur ou par projet.
Il est recommandé d’utiliser une paire de clés distincte pour chaque serveur. Ainsi, si une clé privée est compromise, seul le serveur auquel elle est associée est affecté, et non tous les serveurs que vous gérez.
Que faire en cas de perte ou de compromission d’une clé SSH ?
Supprimer la clé privée de votre ordinateur local ne suffit pas : toute personne qui en possède une copie peut encore accéder aux serveurs qui font confiance à la clé publique correspondante.
Vous devez supprimer la clé publique de tous les serveurs sur lesquels vous l’avez ajoutée. Procédez comme suit :
- Supprimez la clé publique concernée du fichier authorized_keys du serveur ou supprimez-la dans hPanel sous Paramètres → Clés SSH.
- Supprimez ou placez en quarantaine la clé privée exposée sur votre ordinateur local.
- Générez une nouvelle paire de clés SSH avec ssh-keygen.
- Ajoutez la nouvelle clé publique au serveur via hPanel, ssh-copy-id ou en modifiant manuellement authorized_keys.
- Testez la nouvelle clé pour vérifier qu’elle fonctionne avant de fermer votre session.
Comment résoudre les problèmes d’authentification par clé SSH
La plupart des échecs d’authentification par clé SSH s’expliquent par un nombre limité de causes : des permissions incorrectes, des clés qui ne correspondent pas ou une modification de configuration qui n’a pas été appliquée.
| Problème | Cause probable | Points à vérifier |
|---|---|---|
| Le serveur demande toujours un mot de passe | La clé publique n’est pas installée correctement ou l’authentification par mot de passe reste activée comme méthode de connexion de secours. | Vérifiez que la clé publique se trouve dans ~/.ssh/authorized_keys sur le serveur. |
| Erreur « Permission denied » | Les permissions de ~/.ssh ou de authorized_keys sont incorrectes. | Définissez les permissions de ~/.ssh sur 700 et celles de authorized_keys sur 600. |
| La mauvaise clé privée est utilisée | Le client SSH utilise une autre clé par défaut. | Utilisez ssh -i ~/.ssh/id_ed25519 username@192.0.2.1 pour spécifier explicitement la clé. |
| La clé publique a été ajoutée au mauvais compte utilisateur | La clé a été ajoutée au fichier authorized_keys d’un autre utilisateur. | Vérifiez que vous vous connectez avec le même nom d’utilisateur que celui auquel appartient le fichier authorized_keys contenant la clé publique. |
| Le service SSH n’a pas été rechargé après les modifications de configuration | Les modifications apportées à sshd_config n’ont pas été appliquées. | Exécutez sudo systemctl reload ssh pour Ubuntu/Debian ou sudo systemctl reload sshd pour CentOS/Rocky Linux/AlmaLinux afin de recharger le service SSH. |
| Problème de pare-feu, de port ou d’adresse IP | Le port 22 est bloqué ou l’adresse IP utilisée est incorrecte. | Vérifiez les règles du pare-feu et assurez-vous que l’adresse IP du serveur et le port SSH sont corrects. Les erreurs de connexion SSH refusée indiquent souvent un port bloqué ou une adresse IP incorrecte. |
Étapes suivantes après la configuration des clés SSH
Une fois l’authentification par clé SSH configurée, la connexion par mot de passe désactivée et vos clés organisées, la connexion au serveur est sécurisée. L’authentification par clé constitue la base, mais ce n’est que le point de départ pour travailler efficacement avec un serveur distant.
Vous pouvez maintenant vous familiariser avec les opérations courantes sur un serveur. La gestion des fichiers, la surveillance des processus, la gestion des permissions des utilisateurs et la configuration des services s’effectuent depuis la ligne de commande.
Les commandes SSH de base couvrent les opérations essentielles que vous utiliserez à chaque session, de la navigation dans les répertoires et du transfert de fichiers à la vérification des processus en cours d’exécution et à la gestion des services.
Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.
Commentaires
0 responses