Aller au contenu

Génération de clés SSH

Dans cet article

L'utilisation des clés SSH vous permet d'éviter l'entrée du mot de passe de l'utilisateur distant et de le remplacer par une clé SSH difficile à trouver, rendant ainsi le processus de gestion de serveur plus sécurisé.

Information

Une clé SSH est une clé cryptographique utilisée pour authentifier un utilisateur lorsqu'il se connecte à un serveur distant en utilisant le protocole SSH.

Il existe deux types de clés SSH :

  1. Une clé publique est une clé qui peut être envoyée sur un serveur distant pour l'identification. Elle sert à chiffrer des données qui ne peuvent être déchiffrées qu'avec la clé privée correspondante. La clé privée peut également être utilisée pour chiffrer des données, qui sont ensuite déchiffrées par la clé publique.

  2. Une clé privée est une clé qui doit être gardée secrète sur l'appareil local de l'utilisateur. Elle sert à déchiffrer les données chiffrées avec la clé publique.

Pour se connecter à un serveur en utilisant des clés SSH, vous devez créer un couple de clés (publique et privée) sur l'ordinateur local et copier ensuite la clé publique sur le serveur distant. Il est alors possible de se connecter au serveur sans fournir le mot de passe de l'utilisateur distant. Habituellement, la clé privée est générée avec un mot de passe, et vous devrez toujours fournir ce mot de passe lors de la connexion.

Génération de clés SSH pour les systèmes d'exploitation Linux/MacOS

Création d'une clé SSH

  1. Connectez-vous au serveur via SSH.
  2. Générez une clé SSH sur l'ordinateur local. Pour ce faire, exécutez la commande suivante dans un terminal :

    ssh-keygen -t rsa
    

    Après avoir exécuté la commande, vous serez invité à sélectionner un nom de fichier et un emplacement pour la clé. Par défaut elle est stockée dans le répertoire /.ssh/ et le nom de fichier est id_rsa.

    Vous serez ensuite invité à entrer un mot de passe pour sécuriser davantage la connexion SSH. Il n'est pas obligatoire d'entrer un mot de passe :

    Enter file in which to save the key (/root/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

    Le fingerprint de la clé et son image apparaissent dans le terminal :

    The key's randomart image is:
    
    +---[RSA 3072]----+
    |      .     ..o+=|
    |     . .     o +.|
    |      o . o . o.o|
    |       = o . + oo|
    |      . S . + o o|
    |       . = ..o . |
    |        o ..=o+  |
    |         ..+=Xo+ |
    |         .E=*=Oo |
    +----[SHA256]-----+
    

    Vous pouvez utiliser des commandes pour consulter les clés SSH créées :

    • cat ~/.ssh/id_rsa - recherche de la clé privée;
    • cat ~/.ssh/id_rsa.pub - recherche de la clé publique.
  3. Ensuite, vous devez ajouter la clé publique au serveur. Pour ce faire, tapez la commande suivante, en remplaçant <username> par le nom d'utilisateur sur le serveur et <ip_address> par l'adresse IP du serveur :

    ssh-copy-id <username>@<ip_address>
    
    • <username> — nom d'utilisateur;
    • <ip_address> — adresse IP publique du serveur.
  4. Après avoir entré la commande, le système vous demandera le mot de passe du compte sur le serveur. Après l'entrée du mot de passe, la clé publique est copiée sur le serveur et ajoutée au fichier ~/.ssh/authorized_keys sur le serveur.

  5. Une fois les étapes ci-dessus terminées, vous devrez entrer la commande pour vous connecter au serveur en utilisant une clé SSH :

    ssh <username>@<ip_address>
    

Création d'une clé SSH lors d'une réinstallation de Linux

La clé SSH peut être ajoutée lors de la réinstallation du système d'exploitation. Pour ce faire, avant de commencer l'installation d'un nouveau système d'exploitation dans Invapi, remplissez le champ Public ssh key dans l'onglet Reinstall :

Note

Pour un exemple de demande de réinstallation du système d'exploitation, voir Méthodes API de réinstallation du serveur

Génération de clés SSH pour Windows

Information

Il existe deux méthodes de génération de clés SSH sur le système d'exploitation Windows : l'une en utilisant le client OpenSSH, et l'autre en utilisant le client PuTTY. Ci-dessous se trouvent des instructions pour générer les clés à l'aide de l'une ou l'autre méthode.

Client OpenSSH

Pour générer une clé SSH en utilisant le client OpenSSH, vous devez effectuer la séquence d'actions suivante :

  1. Vérifiez la présence du client OpenSSH. Pour ce faire, allez dans Paramètres >> Applications >> Composants supplémentaires et tapez SSH dans la barre de recherche.

    Si le client n'est pas installé, cliquez sur le bouton Add Component et localisez-le en utilisant la barre de recherche. Ensuite, cliquez sur le bouton Install.

    Vous pouvez également utiliser l'invite de commande pour vérifier le client OpenSSH :

    ssh -V
    
  2. Allez dans le terminal (raccourci Win+R >> tapez cmd >> appuyez sur OK) et entrez la commande :

    ssh-keygen
    

    Après avoir exécuté la commande, vous serez invité à sélectionner un nom de fichier et un emplacement pour la clé. Par défaut elle est stockée dans le répertoire /.ssh/ et le nom de fichier est id_rsa.

    Vous serez ensuite invité à entrer un mot de passe pour sécuriser davantage la connexion SSH. C'est facultatif :

    Enter file in which to save the key (.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

    Le fingerprint de la clé et son image apparaissent dans le terminal :

    The key's randomart image is:
    
    +---[RSA 3072]----+
    |      .     ..o+=|
    |     . .     o +.|
    |      o . o . o.o|
    |       = o . + oo|
    |      . S . + o o|
    |       . = ..o . |
    |        o ..=o+  |
    |         ..+=Xo+ |
    |         .E=*=Oo |
    +----[SHA256]-----+
    
  3. Pour vérifier les clés générées, changez pour le répertoire précédemment spécifié sur l'appareil local. Par exemple, C:\\Users\\user_name\\.ssh :

PuTTY

  1. Téléchargez et installez le client Putty sur votre appareil local ;

  2. Exécutez puttygen.exe depuis le menu Démarrer.

  3. Sélectionnez le type de clé RSA et appuyez sur le bouton Generate :

  4. Déplacez la souris plusieurs fois dans différentes directions aléatoires dans la fenêtre Key Generation, cette action créera un bruit aléatoire :

  5. Pour protéger la clé avec un mot de passe, entrez-le dans Key passphrase et répétez-le dans Confirm passphrase. Si aucune protection supplémentaire n'est requise, laissez ces champs vides :

    Cliquez sur le bouton Save Private Key pour sauvegarder la clé privée.

    Cliquez sur le bouton Save Public Key pour enregistrer la clé publique sur le disque. Cette clé sera utilisée pour l'authentification sur le serveur.

  6. Copiez la clé SSH publique sur le serveur :

    scp </path/to/file> <username>@<ip_address></path/to/destination>
    
    • — chemin complet vers la clé publique sur l'ordinateur local;
    • — nom d'utilisateur;
    • — adresse IP publique du serveur;
    • — chemin pour stocker la clé publique sur le serveur.

Création d'une clé SSH lors d'une réinstallation de Windows

Il est possible d'ajouter la clé SSH lors de la réinstallation du système d'exploitation. Pour ce faire, avant de commencer l'installation d'un nouveau système d'exploitation dans Invapi, remplissez le champ Public ssh key dans l'onglet Reinstall :

Note

Pour un exemple de demande de réinstallation du système d'exploitation, voir Méthodes API de réinstallation du serveur

Supprimer une clé SSH

Pour supprimer une clé SSH, vous devez :

  • Ouvrir le fichier authorized_keys, qui se trouve généralement dans le répertoire /.ssh/. Vous pouvez utiliser un éditeur de texte en ligne de commande tel que Vim ou Nano.

  • Localisez la ligne contenant la clé publique que vous souhaitez supprimer. Chaque ligne correspond à une clé.

  • Supprimez la ligne avec la clé publique que vous voulez retirer du fichier authorized_keys.

  • Sauvegardez les modifications et fermez le fichier.

  • Redémarrez le service SSH sur le serveur pour que les changements prennent effet. Dans la plupart des cas, cela peut être fait avec sudo service ssh restart ou sudo systemctl restart sshd.

  • Vérifiez que la clé ne fonctionne plus pour la connexion SSH.

Note

Si le système d'exploitation Windows est installé sur l'appareil local de l'utilisateur, vous pouvez également trouver le fichier known_hosts et supprimer la ligne avec la clé SSH appropriée en son sein


Une partie du contenu de cette page a été créée ou traduite à l'aide d'IA.