IBM Cloud Docs
Génération de clés SSH

Génération de clés SSH

Avant de créer un serveur virtuel, vous devez disposer d'une paire de clés SSH privées et publiques. Vous pouvez réutiliser une paire de clés SSH existante ou en générer une nouvelle. Vous pouvez également réutiliser une paire de clés OpenSSH existante à utiliser dans PuTTY.

  • Vous devez utiliser la clé publique comme entrée lors de la création d'un nouveau serveur virtuel.
  • Vous devez disposer de la clé privée lorsque que vous vous connectez au serveur virtuel. Conservez-la en tant que clé secrète sur votre poste de travail client.

Cette paire de clés SSH est ensuite utilisée pour l'authentification entre votre client et votre nouveau serveur.

Les algorithmes de cryptographie suivants sont pris en charge par Hyper Protect Virtual Servers pour générer des clés SSH :

  • ssh-rsa (valeur par défaut)
  • ssh-ed25519
  • ecdsa-sha2-nistp256
  • ecdsa-sha2-nistp384
  • ecdsa-sha2-nistp521

Génération de clés SSH avec une commande

La méthode de création d'une paire de clés SSH à partir de la ligne de commande des systèmes d'exploitation répertoriés est quasiment la même pour tous les systèmes d'exploitation de ce type :

  • Linux
  • Sous-système Windows pour Linux (WSL)
  • Windows avec Git Bash
  • Windows 10
  • macOS

Si vous devez ou souhaitez utiliser une nouvelle paire de clés d'authentification pour SSH, exécutez l'outil ssh-keygen à partir de la ligne de commande. Vous êtes invité à choisir un nom de fichier de clés et une phrase passe.

Les exemples d'instructions suivantes peuvent être saisis au choix dans

  • Une session Git Bash sous Windows
  • Une session Windows 10
  • Une session Linux
ssh-keygen
ssh-keygen -t rsa
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Les paramètres -t, -b et -C sont facultatifs.

  • -t Spécifie le type de clé. La valeur par défaut est -t rsa.
  • -b Désigne la taille de la clé en bits. La taille par défaut est de 2048 bits.
  • -C Ajoute un commentaire.

Ainsi, si vous appelez ssh-keygen sans aucun argument, la commande génère une paire de clés RSA d'une taille de 2048 bits pour les deux clés.

Vous pouvez effectuer une sélection parmi les algorithmes de cryptographie pris en charge en utilisant le paramètre -t dans l'outil ssh-keygen :

Tableau 1. Algorithmes de cryptographie pris en charge
Algorithme Commande
ssh-rsa ssh-keygen -t rsa (par défaut)
ssh-ed25519 ssh-keygen -t ed25519
ecdsa-sha2-nistp256 ssh-keygen -t ecdsa -b 256
ecdsa-sha2-nistp384 ssh-keygen -t ecdsa -b 384
ecdsa-sha2-nistp521 ssh-keygen -t ecdsa -b 521

Si vous n'indiquez pas de nom de fichier pour sauvegarder la clé, un nom par défaut est utilisé. La paire de clés SSH privée-publique est stockée dans deux fichiers ayant le même nom. La clé SSH publique, qui est requise pour la création d'un serveur virtuel, est sauvegardée dans le fichier avec l'extension .pub. Le format des clés générées peut varier selon les différentes méthodes utilisées pour la génération ou en fonction des différents systèmes d'exploitation. Les formats valides sont reconnus lorsqu'ils sont saisis en tant qu'entrée lors de la création d'un serveur virtuel.

Sauvegarde de la clé privée SSH dans l'agent SSH

Si vous avez créé votre paire de clés SSH avec une phrase passe, vous pouvez ajouter votre clé privée SSH dans l'agent SSH. A l'aide de l'agent SSH, vous pouvez ensuite utiliser votre clé privée sans avoir à saisir à nouveau la phrase passe.

Cette tâche est facultative.

  • Exécutez la commande suivante : eval "$(ssh-agent -s)"
  • Remarque : si vous disposez d'un système macOS Sierra 10.12.2 (ou version ultérieure), vous devez modifier votre fichier ~/.ssh/config pour pouvoir ajouter des clés dans l'agent et utiliser votre chaîne de certificats pour stocker les phrases passe :
Host *    
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa
  • Entrez ssh-add ~/.ssh/id_rsa (pour les systèmes mac, entrez ssh-add -K ~/.ssh/id_rsa) pour ajouter votre clé privée SSH à l'agent SSH. Si votre fichier de clé privée comporte un nom différent, remplacez id_rsa par le nom du fichier.

Génération de clés SSH à partir de Windows avec l'utilitaire PuTTY Key Generator

Dans PuTTY Key Generator, sélectionnez le type de clé et la taille de la clé (par exemple, 2048 ou 4096).

Génération d'une paire de clés SSH avec le générateur de clés PuTTY{: caption="Figure 1. Génération d'une paire de clés SSH avec le générateur de clés PuTTY"caption-side="bottom"}

Vous pouvez sélectionner l'un des algorithmes de cryptographie pris en charge dans PuTTY Key Generator en cliquant sur l'option appropriée pour Type of key to generate. Pour l'option ECDSA, une liste déroulante d'options s'affiche dans laquelle vous devez indiquer une valeur pour Curve to use for generating this key (nistp256, nistp384 ou nistp521).

Vous devez ensuite sauvegarder la clé privée et, éventuellement, la clé publique, dans deux fichiers distincts en cliquant sur les boutons correspondants ( Save public key, Save private key). Pour réutiliser la clé publique sauvegardée de cette manière pour créer un serveur virtuel, vérifiez que vous utilisez le format de clé publique OpenSSH qui est reconnu par Hyper Protect Virtual Servers.

Vous devez stocker les clés dans un emplacement sûr et effectuer une sauvegarde des clés. Les scénarios de mise à niveau de serveur virtuel nécessitent la signature avec les clés d'origine qui ont été utilisées pour créer le serveur virtuel.

Pour créer un serveur virtuel avec une clé SSH publique PuTTY, vous disposez des options suivantes :

  • Pour créer le serveur virtuel directement après la génération de la paire de clés, copiez la clé publique figurant dans la boîte de dialogue Key. Incluez la chaîne 'ssh-rsa' au début, puis supprimez les commentaires de la clé à la fin, comme illustré à la Figure 2.
  • Pour créer le serveur virtuel après la fermeture de la boîte de dialogue PuTTY Key Generator, vous pouvez utiliser la clé publique à partir d'un fichier sauvegardé au format de clé publique OpenSSH.

Paire de clés SSH à partir du générateur de clés PuTTY prêt à l'emploi{: caption="Figure 2. Paire de clé SSH à partir du générateur de clés PuTTY prêt à l'emploi" caption-side="bottom"}

Conversion d'une paire de clés OpenSSH pour la connexion à un serveur virtuel à partir de PuTTY

Imaginez que vous disposez d'un serveur virtuel existant que vous souhaitez configurer dans l'utilitaire PuTTY Configuration pour vous connecter facilement à ce serveur. Vous avez créé ce serveur virtuel à l'aide d'une paire de clés OpenSSH existante. Ce scénario explique comment convertir la clé privée OpenSSH existante pour vous connecter facilement à ce serveur virtuel à partir de PuTTY Configuration. A cette fin, vous apprenez à convertir la clé privée OpenSSH concernée au format PuTTY.

  1. Sélectionnez Import key dans la zone Conversions. Recherchez et ouvrez le fichier de la clé privée OpenSSH existante.

    Importez la clé privée OpenSSH vers PuTTY{: caption="Figure 3. Importez la clé privée OpenSSH vers PuTTY" caption-side="bottom"}

  2. Sauvegardez la clé privée au format PuTTY en utilisant le type de fichier .ppk.

    Convertissez la clé privée OpenSSH en PuTTY{: caption="Figure 4. Convertissez la clé privée OpenSSH en PuTTY" caption-side="bottom"}

  3. Configurez votre serveur virtuel dans PuTTY comme indiqué dans Connexion à partir de Windows avec PuTTY Configuration.