
Dans cet article, nous allons voir comment générer une paire de clés SSH avec PuTTYgen et configurer votre serveur pour une authentification sécurisée par clé publique.
Introduction
L’authentification SSH par clé publique est une méthode beaucoup plus sécurisée que l’authentification par mot de passe. Elle permet de sécuriser vos connexions à distance et d’éviter les vulnérabilités liées aux mots de passe faibles. Ce guide vous expliquera étape par étape comment générer et configurer une paire de clés (publique et privée) avec PuTTYgen et les utiliser pour sécuriser l’accès à votre serveur Linux. Vous apprendrez également à configurer le serveur pour accepter ces clés et comment utiliser PuTTY pour vous y connecter.
Recommandation
Nous vous recommandons d’utiliser PuTTY pour coller vos clés publiques lors de ces configurations, car il simplifie le processus de gestion des clés et sécurise efficacement vos connexions SSH.
Étape 1 – Générer une paire de clés avec PuTTYgen :
Ouvrez PuTTYgen :
PuTTYgen est l’outil fourni avec PuTTY pour générer des clés SSH. Lorsque vous ouvrez PuTTYgen, vous verrez une interface simple pour générer une clé.

Choisissez le type de clé :
Sélectionnez RSA comme type de clé et définissez la longueur de la clé à 4096 bits pour plus de sécurité.
Générez la clé :
Cliquez sur Generate et déplacez votre curseur dans la fenêtre pour créer l’entropie nécessaire à la génération sécurisée de la clé.

Option : Ajouter une passphrase (recommandé) :
Une passphrase protège votre clé privée. Même si quelqu’un obtient cette clé, il ne pourra pas l’utiliser sans connaître la passphrase.
Assurez-vous de bien mémoriser ou stocker votre passphrase en lieu sûr, car si vous l’oubliez, vous ne pourrez plus utiliser votre clé privée.
Sauvegardez la clé privée :
Cliquez sur Save private key pour sauvegarder votre clé privée sur votre machine. Ne la partagez jamais.

Copiez la clé publique :
Copiez la clé publique affichée dans la fenêtre pour l’ajouter à votre serveur.
Etape 2 – Ajouter la clé publique sur le serveur
Créer le répertoire .ssh (si non présent) :
Créez le répertoire .ssh dans le répertoire personnel de l’utilisateur pour lequel vous configurez l’accès SSH. Exemple pour l’utilisateur mikn :

Cette commande crée le répertoire .ssh dans le répertoire personnel de l’utilisateur mikn.
mkdir -p /home/mikn/.ssh
Définir les permissions du répertoire :
Assurez-vous que seul l’utilisateur mikn a accès à ce répertoire :
chown mikn:mikn /home/mikn/.ssh
Le chiffre 700 signifie que seul l’utilisateur propriétaire du répertoire (mikn) peut lire, écrire, et exécuter des fichiers dans ce répertoire.
chmod 700 /home/mikn/.ssh
Créer le fichier authorized_keys :

Ce fichier stocke les clés publiques autorisées à se connecter via SSH :
touch /home/mikn/.ssh/authorized_keys
Ajouter la clé publique au fichier authorized_keys
:
Vous devez copier la clé publique que vous avez générée avec PuTTYgen (ou une autre méthode) et la coller dans le fichier authorized_keys.

Cette commande ouvre le fichier dans un éditeur de texte où vous pouvez coller votre clé publique (clic droit pour coller sur Putty).
nano /home/mikn/.ssh/authorized_keys
Une fois la clé ajoutée, appuyez sur Ctrl + O pour sauvegarder, puis Ctrl + X pour quitter.
Définir les permissions du fichier authorized_keys :

Cela garantit que mikn est le propriétaire du fichier authorized_keys.
chown mikn:mikn /home/mikn/.ssh/authorized_keys
Les permissions 600 signifient que seul mikn peut lire et écrire dans le fichier, personne d’autre n’a accès.
chmod 600 /home/mikn/.ssh/authorized_keys
Redémarrer le service SSH :

Après avoir configuré et modifié les fichiers, il est nécessaire de redémarrer le service SSH pour que les changements soient pris en compte.
systemctl restart ssh
Les étapes ci-dessus nécessitent que vous remplaciez mikn par l’utilisateur que vous souhaitez configurer pour la connexion SSH avec une clé publique.
Etape 3 – Connexion via SSH avec Clé Publique
Ouvrir PuTTY :
- Dans le champ Host Name (or IP address), entrez l’adresse IP ou le nom d’hôte du serveur distant.
- Assurez-vous que le Port est bien 22 ( ou celui que vous avez configuré) et que le type de connexion est défini sur SSH.

Charger la clé privée dans PuTTY :
Dans la section Connection > SSH > Auth > Credentials, cliquez sur Browse et sélectionnez le fichier de clé privée (.ppk).
Démarrer la connexion :
Retournez à l’onglet Session, cliquez sur Open pour établir la connexion. Si la clé est correctement installée sur le serveur, aucune demande de mot de passe ne sera nécessaire.

Lors de votre connexion via SSH, le nom d’utilisateur et la clé publique associés à la session seront utilisés pour l’authentification. Vous pouvez configurer le nom d’utilisateur directement dans PuTTY en spécifiant l’adresse IP du serveur ainsi que le nom de l’utilisateur dans les options de connexion.
Fichier de configuration SSH (à vérifier) :
Dans le fichier /etc/ssh/sshd_config, certaines options peuvent nécessiter une vérification ou un ajustement pour permettre l’utilisation des clés publiques. Voici quelques paramètres importants à vérifier ou à décommenter :
Impact sur la désactivation de PasswordAuthentication
Tous les utilisateurs (y compris les administrateurs) devront utiliser une clé publique ou une autre méthode de connexion autorisée.
Plus aucune connexion via mot de passe ne sera acceptée une fois cette configuration activée, tant que l’option est active.
Si vous ne disposez pas de clé publique configurée pour vous-même, vous risquez de vous bloquer en dehors de votre serveur si vous désactivez l’authentification par mot de passe sans avoir d’autre moyen d’accéder au système.
- PasswordAuthentication no : Désactive l’authentification par mot de passe pour forcer l’utilisation des clés publiques, augmentant ainsi la sécurité.
- PubkeyAuthentication yes : Active l’authentification par clé publique (nécessaire pour que les clés publiques fonctionnent).
- AuthorizedKeysFile .ssh/authorized_keys : Spécifie l’emplacement où les clés publiques sont stockées pour l’authentification.
Utilisez Ctrl + W
pour rechercher les lignes dans le fichier de configuration et Ctrl + O
pour sauvegarder les modifications, puis Ctrl + X
pour quitter.
Conclusion :
L’authentification SSH par clé publique est un excellent moyen de renforcer la sécurité de vos connexions à distance. En utilisant PuTTYgen pour générer des paires de clés et en configurant correctement votre serveur Linux, vous pouvez sécuriser vos accès et éviter l’utilisation de mots de passe vulnérables. N’oubliez pas de toujours sauvegarder vos clés privées en lieu sûr et de maintenir votre fichier authorized_keys à jour sur votre serveur pour autoriser les utilisateurs.
N’hésitez pas à consulter également notre article sur l’installation de Debian.
Visitez notre site pour découvrir nos articles et ressources informatiques !