Comment Générer une Clé SSH : Gestion Efficace des Clés pour des Connexions Sécurisées à Distance 

Comment Générer une Clé SSH : Gestion Efficace des Clés pour des Connexions Sécurisées à Distance 

Pour accéder à votre serveur à partir d’un ordinateur local avec le protocole Secure Shell (SSH), vous devez apprendre à configurer les clés SSH.

Une paire de clés SSH élimine l’authentification manuelle par mot de passe, ce qui accélère le processus de connexion au serveur et renforce la sécurité de l’accès au serveur distant. 

Que vous soyez novice en matière d’authentification par clé SSH ou que vous souhaitiez améliorer votre gestion des clés, ce guide complet vous expliquera le processus et vous fournira des stratégies efficaces.

Conditions préalables à la génération des clés SSH

Avant de configurer les clés SSH, passons d’abord en revue les conditions requises. Vous devez avoir accès à

  • Votre appareil local
  • Votre ordinateur ou serveur distant, son nom d’utilisateur et son adresse IP
  • L’application Terminal pour établir votre connexion à distance

Pour la dernière condition préalable, les utilisateurs de Mac et de Linux peuvent utiliser leurs terminaux intégrés respectifs. 

Cependant, les utilisateurs de Windows ne peuvent pas utiliser Terminal pour la connexion SSH. Heureusement, il existe des clients SSH locaux pour Windows. Voici les quatre principales recommandations :

  • PowerShell – Un shell de ligne de commande intégré et un langage de script de Microsoft. Il est recommandé pour les utilisateurs avancés de Windows. 
  • Windows Subsystem for Linux (WSL) – Programme permettant aux utilisateurs de Windows de faire fonctionner un environnement Linux sur leur ordinateur. Idéal pour les débutants et les utilisateurs familiarisés avec le système d’exploitation Linux. 
  • Git BASH – Une interface de ligne de commande intégrée à Git, idéale pour ceux qui travaillent fréquemment avec des dépôts Git.
  • PuTTY – Un émulateur de terminal libre et gratuit avec un générateur et un gestionnaire de clés. C’est une option viable pour ceux qui utilisent des systèmes d’exploitation Windows plus anciens. Consultez notre tutoriel sur la génération de clés SSH PuTTY pour plus d’informations.

Une fois ces conditions préalables remplies, vous êtes prêt à configurer l’authentification par clé SSH.

Comment générer les clés SSH

Une fois votre appareil local, votre serveur distant et votre terminal préparés, nous allons apprendre à configurer les clés SSH étape par étape. 

1. Lancer le processus de génération de la clé SSH

Pour établir des connexions sécurisées à l’aide de SSH, vous devez générer une paire de clés publique et privée. Ces clés permettent d’authentifier et de crypter les communications avec les serveurs distants.

Le serveur distant utilise les clés publiques pour vérifier votre identité sur la base de leurs empreintes de clés SSH. Pendant ce temps, l’ordinateur local stocke les clés privées pour authentifier votre connexion SSH.

Lorsque vous vous connectez à un ordinateur distant, votre machine locale fournit la clé privée. Le serveur la compare ensuite à la clé publique associée pour vous accorder l’accès.  

Deux algorithmes sont couramment utilisés pour générer des clés d’authentification :

  • RSA – Une clé RSA SSH est considérée comme hautement sécurisée car elle a généralement une taille de clé plus importante, souvent 2048 ou 4096 bits. Elle est également plus compatible avec les anciens systèmes d’exploitation. 
  • Ed25519 – Un algorithme plus moderne avec une taille de clé standard plus petite de 256 bits. Il est tout aussi sûr et efficace qu’une clé RSA en raison de ses fortes propriétés cryptographiques. La compatibilité est plus faible, mais les systèmes d’exploitation les plus récents le prennent en charge.

Ce tutoriel génère des clés SSH privées et publiques en utilisant Ed25519 comme exemple. Cependant, vous pouvez également suivre ce guide si vous utilisez RSA.

Conseil de pro

Pour garantir une authentification transparente des clés, consultez la documentation de votre fournisseur d’hébergement pour vérifier la compatibilité de votre clé SSH et de votre serveur. Hostinger prend en charge les algorithmes RSA et Ed25519.

Tout d’abord, ouvrez votre Terminal ou votre client SSH local. Ensuite, entrez la commande ssh-keygen :

ssh-keygen -t ed25519

La commande SSH affiche le message suivant :

Generating public/private ed25519 key pair.

Passez à l’étape suivante.

2. Configurer le stockage des clés et la phrase de passe

Le générateur de clés vous demande de choisir un emplacement pour stocker les clés :

Enter file in which to save the key (/home/local_username/.ssh/id_ed25519):

Appuyez sur Entrée pour les enregistrer dans l’emplacement par défaut, qui est le répertoire /.ssh dans /home.

Vous pouvez également spécifier un autre emplacement en saisissant le chemin d’accès et le nom du fichier. Par exemple, vous pouvez enregistrer vos fichiers de clés dans un répertoire distinct du dossier /.ssh pour une meilleure organisation ou sur un disque externe crypté pour une sécurité accrue.

Ensuite, la fenêtre du générateur de clé vous demandera de créer une phrase de passe de clé SSH pour accéder à votre clé privée.

Enter passphrase (empty for no passphrase):

Vous pouvez appuyer sur Entrée pour sauter cette étape, mais il est vivement conseillé de créer une phrase de passe pour la clé privée afin de renforcer la sécurité de la connexion au serveur. Si quelqu’un obtient un accès non autorisé à votre clé privée, il doit toujours connaître la phrase de passe pour l’utiliser.

Choisissez une phrase de passe forte, longue et unique. L’idéal est de combiner des lettres majuscules et minuscules, des chiffres et des caractères spéciaux. Voici quelques exemples :

  • Phrase aléatoire – PurpleElephantsDanceOnFridayNights !
  • Combinaison de mots et de chiffres – TrickyGiraffe37$Sunshine
  • Phrase de passe avec caractères spéciaux – C0ffee#Mug@3xtraShot
  • Paroles de chansons ou citations de livres – ToBeOrNot2Bee?That@isTheQuestion
  • Mélanger plusieurs langues – Bonjour!Grazie!Danke!¡Hola !

Une fois la phrase de passe créée, appuyez sur Entrée. Remplissez ensuite la même phrase d’authentification et appuyez à nouveau sur Entrée. 

La commande ssh-keygen va maintenant afficher l’empreinte de la clé SSH et l’image aléatoire de la clé publique. Voici à quoi devrait ressembler la sortie du début à la fin :

ssh-keygen -t ed25519

Generating public/private ed25519 key pair.

Enter file in which to save the key (/home/local_username/.ssh/id_ed25519):

Enter passphrase (empty for no passphrase):

Enter the same passphrase again:

Your identification has been saved in /home/local_username/.ssh/id_ed25519

Your public key has been saved in /home/local_username/.ssh/id_ed25519

L’empreinte digitale clé est :

SHA256:kbMwyYwHymTudFmkCxt8yX6+2ztczkUJwRWTwXdRzcU localusername@hostname

L’image aléatoire de la clé est :

+--[ED25519 256]--+

|      ..o==o    |

|    . +*+o*+    |

|   . +o.*.o+    |

|    .o. = o     |

|    . o S +     |

|     . o =      |

|      o o       |

|       + .      |

|      . o       |

+-----------------+

La commande ssh-keygen doit également avoir créé une clé publique et une clé privée dans le chemin et le nom de fichier spécifiés. Le fichier de clé publique doit avoir une extension PUB, comme id_rsa.pub ou id_ed25519.pub

Les clés privées RSA se terminent généralement par RSA dans leur nom de fichier. En revanche, le fichier pour Ed25519 n’a souvent pas d’extension spécifique.

Gestion des clés SSH

Maintenant que vous savez comment configurer les clés SSH, nous allons nous pencher sur la gestion efficace des clés. Celle-ci garantit la sécurité et l’efficacité de vos connexions à distance.

Transfert de la clé publique SSH vers un serveur distant

Pour utiliser votre paire de clés SSH pour une connexion à distance, vous devez d’abord transférer votre clé publique sur un serveur SSH.

Si vous êtes un utilisateur de VPS Hostinger, notre hPanel fournit un bouton en un clic pour copier votre clé publique dans le SSH de votre serveur. 

Il suffit de suivre les étapes suivantes  :

  1. Allez dans le répertoire des clés SSH, où votre clé publique est stockée. Sélectionnez et ouvrez le fichier id_ed25519.pub à l’aide d’un éditeur de texte. Gardez cette fenêtre ouverte. 
  2. Connectez-vous à votre compte et naviguez jusqu’au menu VPS. Choisissez un serveur.
  3. Sélectionnez ensuite ParamètresClés SSH. Cliquez sur Ajouter une clé SSH.
Le menu des clés SSH dans les paramètres du Serveur Virtuel de hPanel montre où cliquer sur Ajouter une clé SSH.
  1. Une fenêtre contextuelle s’affiche pour vous demander de donner un nom à l’endroit où la clé SSH est sauvegardée. Copiez et collez le contenu du fichier id_ed25519.pub dans le champ Clé SSH.
La fenêtre Ajouter une clé SSH sur hPanel
  1. Une fois cela fait, cliquez sur Ajouter une clé SSH. Si l’authentification de la clé SSH est réussie, les clés s’affichent comme suit :
Page des clés SSH sur le VPS hPanel

Important ! Vous devez seulement ajouter votre clé SSH publique à hPanel. Veillez à ne jamais partager votre fichier de clé privée avec qui que ce soit

.

Les clients du service d’hébergement Premium et Business d’Hostinger peuvent également établir des connexions sécurisées avec SSH pour leurs sites web. Il suffit de trouver la page des paramètres SSH sur votre Tableau de bordAvancéAccès SSH. Cliquez ensuite sur Activer dans la section Statut SSH.

La page Accès SSH sur hPanel montrant où cliquer sur Activer pour autoriser la connexion SSH à distance

De là, suivez les étapes trois à cinq de l’explication précédente sur les SDV pour connecter votre appareil local au service SSH du serveur.

Si vous rencontrez des problèmes, il est essentiel de procéder au dépannage des clés SSH. Recherchez les erreurs potentielles dans la génération des clés. En outre, vérifiez que la clé publique est correctement configurée sur le serveur distant.

Pour obtenir de l’aide, consultez notre base de connaissances ou contactez notre équipe de réussite client 24/7. Notre VPS comprend également Kodee, un assistant IA intégré qui peut vous aider à résoudre vos problèmes.

Une autre façon de transférer votre clé publique consiste à utiliser votre terminal ou votre client SSH à l’aide de la commande ssh-copy-id. Remplacez “username” par le nom d’utilisateur de votre serveur et “remote_server” par son adresse IP ou son nom de domaine :

ssh-copy-id username@remote_server

La commande SSH affichera cette sortie et vous demandera le mot de passe de connexion du serveur distant :

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: 

"/home/localusername/.ssh/id_ed25519.pub"

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

username@remote_server's password:

Si l’authentification du mot de passe est réussie, vous devriez voir ce résultat :

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'username@remote_server'"

and check to make sure that only the key(s) you wanted were added.

Testez votre nouvelle authentification utilisateur par clé SSH à l’aide de la commande suggérée. Si cela fonctionne, vous verrez apparaître un message de bienvenue, qui variera en fonction de votre serveur et de votre système d’exploitation. Voici un exemple de ce à quoi peut ressembler une connexion réussie :

Exemple de connexion SSH réussie à un serveur distant

Important ! L’agent de clé PuTTY n’inclut pas la commande ssh-copy-id. Pour établir une connexion VPS à distance avec PuTTY, consultez notre article sur l’utilisation de PuTTY (terminal SSH)

.

Gestion de plusieurs clés SSH

Au fur et à mesure que vos projets se développent et se diversifient, vous pouvez utiliser plus d’une clé SSH pour différents serveurs, comptes d’utilisateurs ou projets.

Dans ce cas, nous vous recommandons d’utiliser SSH Agent. Cette fonctionnalité fonctionne en arrière-plan et stocke vos clés privées en toute sécurité. Elle vous permet de gérer les paires de clés SSH sur plusieurs connexions et vous évite d’avoir à saisir plusieurs fois les phrases de passe des clés privées au cours d’une session.

Pour utiliser un agent SSH, procédez comme suit : 

  1. Lancez votre Terminal ou votre client SSH. Ensuite, entrez la commande suivante pour démarrer l’agent SSH :
eval "$(ssh-agent -s)"
  1. Utilisez la commande ssh-add pour ajouter votre clé privée à l’agent SSH. Remplacez “private_key” par le nom de votre fichier.
ssh-add ‘private_key’

Si votre clé privée est protégée par une phrase de passe, vous serez invité à la saisir.

  1. Exécutez la commande suivante pour confirmer que votre clé privée a été ajoutée. La liste des identités actuellement détenues par l’agent s’affichera.
ssh-add -l

Lorsque l’agent SSH est en cours d’exécution et que votre clé privée a été ajoutée, vous pouvez vous connecter à des serveurs distants sans avoir à saisir votre phrase de passe à chaque session. Il vous suffit d’utiliser la commande ssh username@remote_server pour vous connecter.

Conseil de pro

Les utilisateurs de PuTTY auront besoin de Pageant pour utiliser un agent SSH. Rendez-vous sur la page de téléchargement de PuTTY pour accéder au paquet d’installation

.

Voici d’autres stratégies pour la gestion de plusieurs clés SSH : 

  • Suivez les meilleures pratiques pour organiser vos paires de clés – elles comprennent l’utilisation de conventions de dénomination claires, l’application de structures de répertoire logiques et le maintien de permissions appropriées. De cette façon, chaque paire de clés SSH est facilement identifiable.
  • Disposer d’une clé privée SSH et d’une paire de clés publiques uniques pour chaque serveur ou compte Il est possible d’utiliser les mêmes clés pour différents serveurs, mais ce n’est pas sûr. La perte de la clé privée compromet la sécurité de tous les dispositifs associés. 
  • Exécutez la commande hostname pour afficher le nom d’hôte du système actuel – La commande SSH hostname permet d’identifier l’hôte spécifique d’une clé SSH. Elle permet de s’assurer que vous sélectionnez la clé appropriée pour l’hôte choisi.
  • Utiliser des alias de clés – Un alias peut aider à distinguer l’objectif de chaque clé ou le projet associé. Pendant le processus de génération de la clé, ajoutez un commentaire avec l’indicateur -C pour spécifier l’alias – par exemple ssh-keygen -C ‘alias’.
  • Ajuster les paramètres SSH pour des hôtes spécifiques – Le fichier de configuration SSH vous permet de définir les clés SSH à utiliser pour certains hôtes ou domaines. Cela minimise le risque d’utiliser la mauvaise clé lors de la procédure de connexion. Si vous stockez les clés dans le chemin d’accès par défaut, vous trouverez ce fichier dans le répertoire /.ssh. 

.

Gestion des clés SSH perdues ou compromises

En cas de perte ou de compromission d’une clé SSH privée, il convient de prendre des mesures immédiates pour atténuer les risques potentiels en matière de sécurité. 

Pour empêcher tout accès non autorisé, supprimez les clés SSH des serveurs distants sur lesquels elles ont été installées. Procédez comme suit :

  1. Ouvrez votre Terminal ou votre client SSH et utilisez la commande cd pour naviguer jusqu’au répertoire de vos clés. Voici à quoi il ressemble si vous utilisez le chemin par défaut /.ssh :
cd ~/.ssh
  1. Listez le contenu du répertoire SSH à l’aide de la commande ls. Les noms des fichiers s’affichent comme suit :
ls

id_ed25519 id_ed25519.pub known_hosts
  1. Supprimez le fichier de clé privée en exécutant la commande rm, en remplaçant “private_key_file” par le nom du fichier :
rm ‘private_key_file’
  1. Supprimez le fichier de clé publique correspondant en tapant la même commande dans la fenêtre de votre client SSH. 
rm ‘public_key_file’

Les clients Hostinger doivent également supprimer la clé publique sur hPanel. Allez dans Clés SSH pour les utilisateurs VPS ou Accès SSH si vous êtes un client d’hébergement web. Ensuite, appuyez sur Supprimer sur la clé SSH.

Montrer où se trouve le bouton Supprimer dans la page des clés SSH dans les paramètres du VPS de hPanel
  1. Utilisez la commande ls pour confirmer que les fichiers ont bien été supprimés du répertoire SSH. Si c’est le cas, les fichiers de clés privée et publique ne devraient plus exister.

Outre la suppression des clés compromises, il est vivement recommandé d’utiliser la commande ssh-keygen pour régénérer une nouvelle paire de clés. Cela permet de s’assurer que toutes les copies des clés compromises seront inutilisables.

Pour minimiser le risque de perte ou de compromission, suivez ces conseils de gestion des clés SSH :

  • Désactiver l’authentification par mot de passe – L’utilisation de l’authentification par clé privée-publique pour la connexion au serveur principal garantit que seuls les utilisateurs autorisés peuvent accéder au serveur via SSH.
  • Utilisez un stockage sécurisé des clés – Limitez l’accès à vos clés privées en les stockant dans une zone protégée de votre système de fichiers et en définissant les autorisations appropriées à l’aide de la commande chmod.
  • Mettez régulièrement à jour vos clés privées et publiques – Vous réduirez ainsi les risques de compromission de vos clés. Exécutez régulièrement la commande ssh-keygen pour créer de nouvelles clés et remplacer les anciennes.
  • Limitez l’utilisation de la paire de clés – Utilisez une paire de clés dans un seul but, par exemple pour un projet ou un compte d’utilisateur spécifique. Cela facilite la gestion de vos clés et isole les risques de sécurité potentiels.

Conclusion

Apprendre à configurer les clés SSH est essentiel pour les propriétaires de sites web qui cherchent à établir un accès à distance au serveur. Résumons les principales étapes :

  1. Initier la génération de clés SSH – Ouvrez votre terminal ou votre service SSH pour générer une paire de clés publiques et privées en utilisant les algorithmes Ed25519 ou RSA.
  2. Configurer le stockage des clés et la phrase de passe – Choisissez l’emplacement où enregistrer les clés, soit l’emplacement par défaut, soit un répertoire spécifique. Créez une phrase de passe forte pour protéger la clé privée contre toute utilisation ou exposition non autorisée.

Ensuite, transférez la clé publique vers le serveur distant via le panneau de contrôle de votre hébergement ou en utilisant la commande ssh-copy-id.

Pour gérer efficacement vos clés, utilisez un agent SSH pour stocker les clés privées en toute sécurité. Pensez également à suivre les meilleures pratiques de gestion des fichiers, à créer des paires de clés uniques pour des serveurs SSH spécifiques et à utiliser des alias de clés.

Si une clé privée est perdue ou compromise, ne paniquez pas. Il suffit de la supprimer de votre appareil local et de lancer à nouveau la commande ssh-keygen pour générer une nouvelle paire de clés. 

Comment générer les clés SSH – FAQ

Voici quelques questions fréquemment posées sur la configuration des clés SSH et leurs réponses :

Quelle est la différence entre les clés SSH publiques et privées ?

Dans SSH, la clé publique est stockée sur le serveur distant pour vérifier votre identité, tandis que la clé privée est conservée sur votre machine locale à des fins d’authentification. Lorsque vous vous connectez à un serveur distant, votre appareil local fournit la clé privée, que le serveur compare à la clé publique associée pour établir la connexion.

Pourquoi dois-je transférer ma clé publique au serveur distant ?

Le transfert de votre clé publique au serveur distant est nécessaire pour l’authentification. Lorsque vous tentez de vous connecter au serveur, celui-ci compare votre clé publique à la clé privée stockée sur votre machine locale. S’il y a concordance, l’appareil autorise l’accès à votre ordinateur. 

Est-il possible d’utiliser plusieurs clés SSH pour différents serveurs ?

Oui, en fait, c’est recommandé. Elle permet d’isoler les menaces potentielles pour la sécurité et de s’assurer que l’accès à un serveur ne donne pas accès à d’autres. Une bonne gestion des clés est essentielle pour maintenir un environnement distant sûr et efficace.

Author
L'auteur

Roua Krimi

Passionnée par la technologie et le marketing, Roua est passée d'une carrière de localisatrice à celle d'une professionnelle du référencement. Pendant son temps libre, elle aime apprendre de nouvelles langues. Roua parle l'anglais, l'arabe, le français, le turc et l'allemand et apprend le chinois.