Configurer l’Authentification SSH avec Clés Publiques sur Linux

MyItKnowledge.fr, base de connaissances informatique pour l’apprentissage IT

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.

É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 :

  • 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 !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut