IBM Cloud Docs
Initiation aux clés SSH

Initiation aux clés SSH

Lorsque vous créez un serveur, vous devez sélectionner une clé SSH existante ou en générer une nouvelle. Les clés SSH sont utilisées par les serveurs pour identifier un utilisateur ou un périphérique via la cryptographie à clé publique. Les clés SSH sont constituées d'une combinaison alphanumérique et sont propres à l'utilisateur ou à l'appareil auquel elles sont attribuées. Vous pouvez créer une clé SSH dans la console. Vous pouvez ajouter, modifier ou supprimer des clés SSH en utilisant la console IBM Cloud®, le CLI et l'API. En ajoutant une clé SSH à un serveur, vous pouvez accéder au serveur avec la clé SSH privée correspondante au lieu d'un mot de passe. Vous pouvez ajouter des clés SSH à un serveur uniquement lors de la création initiale du serveur. Lorsque le serveur Linux® est créé, vous pouvez éditer les clés directement dans le répertoire ~/.ssh/ du serveur.

La création d'un serveur avec une option de mot de passe pour la connexion n'est pas prise en charge. Vous devez spécifier une clé SSH lorsque vous spécifiez le serveur et que vous utilisez la clé privée pour vous connecter au serveur.

Types de clés SSH pris en charge : RSA et ED25519 dans la console

IBM Cloud® Virtual Private Cloud prend en charge deux types différents de clés SSH publiques.

  • RSA
  • ED25519

Sur IBM Cloud VPC, RSA est le type de clé SSH par défaut. Vous pouvez choisir de changer le type de clé en ED25519. Le type de clé SSH ED25519 offre un avantage légèrement supérieur en termes de performances, car il permet d'obtenir le même niveau de sécurité que le type de clé SSH RSA avec une clé plus petite. Vous pouvez créer des instances de serveurs virtuels et des serveurs nus avec une combinaison de clés RSA et ED25519 SSH.

Dans la console IBM Cloud console, vous pouvez aller dans Menu de navigation icôneicône de menu > Infrastructure icône VPC > Compute > clés SSH pour gérer vos clés SSH. A partir de là, vous pouvez créer, renommer ou supprimer des clés. Si vous choisissez de créer une clé, cette clé doit être un type de clé SSH RSA. Vous pouvez télécharger un type de clé SSH ED25519, mais vous ne pouvez pas en générer une au sein du VPC.

Vous pouvez générer des paires de clés RSA dans la console. Les clés RSA et ED25519 SSH préexistantes peuvent être téléchargées. Ed25519 ne peut être utilisé que si le système d'exploitation prend en charge ce type de clé. Ed25519 ne peut pas être utilisé avec des images Windows ou VMware.

Vous pouvez générer des paires de clés RSA dans la console. Les clés RSA et ED25519 SSH préexistantes peuvent être téléchargées.

Types de clés SSH : RSA et ED25519 dans le CLI

IBM Cloud® Virtual Private Cloud prend en charge deux types différents de clés SSH publiques.

  • RSA
  • ED25519

Sur IBM Cloud VPC, RSA est le type de clé SSH par défaut. Vous pouvez choisir de changer le type de clé en ED25519. Le type de clé SSH ED25519 offre un avantage légèrement supérieur en termes de performances, car il permet d'obtenir le même niveau de sécurité que le type de clé SSH RSA avec une clé plus petite. Vous pouvez créer des instances de serveurs virtuels et des serveurs nus avec une combinaison de clés RSA et ED25519 SSH.

  • Pour les images Windows ou VMware, vous devez utiliser le type de clé SSH RSA. Le type de clé SSH ED25519 ne peut pas être utilisé avec les images Windows ou VMware.
  • Pour les images Linux, le type de clé SSH ED25519 ne peut être utilisé que si le serveur SSH du système d'exploitation prend en charge ce type de clé.

Dans l'interface de ligne de commande, vous pouvez spécifier le type de clé à l'aide de l'option --key-type. Vous ne pouvez pas créer de clés SSH dans l'interface de ligne de commande, vous ne pouvez importer qu'une clé SSH existante. La valeur par défaut --key-type est RSA. Si vous essayez d'importer une clé SSH ED25519 et que vous ne spécifiez pas le type de clé ed25519, le processus échoue.

--key-type ed25519

Types de clés SSH : RSA et ED25519 dans l'API

IBM Cloud® Virtual Private Cloud prend en charge deux types différents de clés SSH publiques.

  • RSA
  • ED25519

Sur IBM Cloud VPC, RSA est le type de clé SSH par défaut. Vous pouvez choisir de changer le type de clé en ED25519. Le type de clé SSH ED25519 offre un avantage légèrement supérieur en termes de performances, car il permet d'obtenir le même niveau de sécurité que le type de clé SSH RSA avec une clé plus petite. Vous pouvez créer des instances de serveurs virtuels et des serveurs nus avec une combinaison de clés RSA et ED25519 SSH.

  • Pour les images Windows ou VMware, vous devez utiliser le type de clé SSH RSA. Le type de clé SSH ED25519 ne peut pas être utilisé avec les images Windows ou VMware.
  • Pour les images Linux, le type de clé SSH ED25519 ne peut être utilisé que si le serveur SSH du système d'exploitation prend en charge ce type de clé.

Vous ne pouvez pas créer de clés SSH dans l'API, vous ne pouvez importer qu'une clé SSH existante. Vous pouvez générer une nouvelle paire de clés RSA SSH dans la console. Vous avez la possibilité de créer une clé SSH pour copier le fragment de code d'API pour cette clé.

Dans l'API, vous pouvez spécifier le type de clé à l'aide de la variable type. La valeur par défaut type est RSA. Si vous essayez d'importer une clé SSH ED25519 et que vous ne spécifiez pas le type de clé ed25519, le processus échoue.

"type":"ed25519"

Types de clés SSH : RSA et ED25519 dans le fichier Terraform

IBM Cloud® Virtual Private Cloud prend en charge deux types différents de clés SSH publiques.

  • RSA
  • ED25519

Sur IBM Cloud VPC, RSA est le type de clé SSH par défaut. Vous pouvez choisir de changer le type de clé en ED25519. Le type de clé SSH ED25519 offre un avantage légèrement supérieur en termes de performances, car il permet d'obtenir le même niveau de sécurité que le type de clé SSH RSA avec une clé plus petite. Vous pouvez créer des instances de serveurs virtuels et des serveurs nus avec une combinaison de clés RSA et ED25519 SSH.

  • Pour les images Windows ou VMware, vous devez utiliser le type de clé SSH RSA. Le type de clé SSH ED25519 ne peut pas être utilisé avec les images Windows ou VMware.
  • Pour les images Linux, le type de clé SSH ED25519 ne peut être utilisé que si le serveur SSH du système d'exploitation prend en charge ce type de clé.

Vous ne pouvez pas créer de clés SSH dans Terraform, vous ne pouvez importer qu'une clé SSH existante. Vous pouvez générer une nouvelle paire de clés RSA SSH dans la console.

Dans Terraform, vous pouvez spécifier le type de clé à l'aide de la variable type. Le type par défaut est rsa. Si vous essayez d'importer la clé SSH ED25519 et que vous ne spécifiez pas le type de clé ed25519, le processus échoue.

type = "ed25519"

Avant de commencer

Vous pouvez générer une clé SSH dans IBM Cloud® Virtual Private Cloud lorsque vous créez la clé SSH sur la page Clés SSH pour VPC. Toutefois, si vous choisissez d'importer un fichier de clés SSH existant, gardez à l'esprit les limitations suivantes.

  • Votre clé SSH doit être de type RSA ou ED25519 avec une taille de clé de 2048 bits ou 4096 bits.
  • Si votre système Mac génère une clé de 3072 bits (par défaut), exécutez l'une des commandes suivantes pour vous assurer que la clé générée est d'une taille prise en charge.
    • Pour le type de clé SSH RSA, exécutez: ssh-keygen -t rsa -b 4096 -C "user_ID"
    • Pour le type de clé SSH ED25519, émettre : ssh-keygen -t ed25519 -b 4096 -C "user_ID"
  • Les clés SSH sont générées sous forme de paires de clés ; l'une est une clé publique et l'autre est une clé privée. Sélectionnez la clé publique lorsque vous importez une clé SSH dans votre VPC. La clé privée correspondante reste sur votre poste de travail local et n'est pas importée.
  • Lorsque vous copiez une clé SSH à partir d'un terminal pour ajouter la clé publique à votre VPC, des sauts de ligne supplémentaires sont parfois introduits, ce qui provoque une erreur d'analyse. Pour éviter ce problème, collez d'abord votre clé publique dans un éditeur de texte et supprimez tout saut de ligne supplémentaire. Ensuite, copiez la clé publique à partir de l'éditeur de texte et collez-la dans l'interface utilisateur, la CLI ou l'API de IBM Cloud VPC.

Localisation de votre clé SSH existante

Si vous choisissez d'importer un fichier de clés SSH existant, recherchez un fichier appelé id_rsa.pub ou id_ed25519.pub qui contient votre clé publique. Le fichier peut se trouver dans un répertoire .ssh sous votre répertoire personnel, par exemple, /Users/<USERNAME>/.ssh/id_rsa.pub. Le contenu du fichier de clé publique d'une clé SSH RSA commence généralement par ssh-rsa, tandis que le contenu du fichier de clé publique d'une clé SSH ED25519 commence généralement par ssh-ed25519. L'extension de fichier .pub indique quel fichier contient la clé publique.

Générer une clé SSH externe

Si vous souhaitez générer une clé SSH en dehors de IBM Cloud VPC, exécutez la commande ssh-keygen et suivez les invites. Par exemple, vous pouvez générer une clé SSH RSA sur votre système Linux ou Mac en exécutant la commande ssh-keygen -t rsa -C "user_ID".

Appuyez sur Entrée pour accepter l'emplacement par défaut du fichier. La commande génère deux fichiers. La clé publique générée se trouve dans le fichier <your key>.pub. Pour Windows®, vous pouvez utiliser PuTTYgen pour générer une clé SSH.

Si vous utilisez OpenSSH version 7.8 ou ultérieure et prévoyez d'accéder à un serveur Windows, utilisez la commande suivante pour générer la clé au format PEM. ssh-keygen -m PEM -t rsa -C "user_ID"

Localisation des clés SSH existantes dans la console

  1. Dans la console IBM Cloud console, allez dans Menu de navigation icôneicône de menu > Infrastructure icône VPC > Compute > clés SSH.
  2. Toutes les clés SSH existantes sont affichées.

Liste des clés SSH existantes à partir de l'interface de gestion

Pour afficher la liste de toutes les clés SSH à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud is keys. Indiquez la variable RESOURCE_GROUP_ID ou RESOURCE_GROUP_NAME. Si vous souhaitez répertorier tous vos groupes de ressources, spécifiez --all-resource-groups.

ibmcloud is keys [--all-resource-groups]

Pour plus d'informations, voir la page ibmcloud is keys dans la référence CLI VPC.

Liste des clés SSH existantes avec l'API

Pour répertorier toutes les clés SSH à l'aide de l'API, utilisez Répertorier toutes les clés.

curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"

Affichage de la liste de vos clés SSH existantes à l'aide de Terraform

Pour répertorier toutes les clés SSH à l'aide de Terraform, utilisez ibm_is_ssh_keys.

data "ibm_is_ssh_keys" keys {}

Créer votre clé SSH dans la console

Procédez comme suit pour créer une clé SSH. Vous ne pouvez créer qu'une clé SSH RSA. Pour les ED25519 clés SSH, vous devez télécharger la clé SSH.

  1. Dans la console IBM Cloud console, allez dans Menu de navigation icôneicône de menu > Infrastructure icône VPC > Compute > clés SSH.

  2. Cliquez sur Créer et entrez les informations répertoriées dans le tableau 1.

    Création d'une clé SSH pour les sélections VPC
    Zone Valeur
    Emplacement Les emplacements sont composés de régions (zones géographiques spécifiques) et de zones (centres de données tolérants aux pannes dans une région). Sélectionnez l'emplacement où vous souhaitez créer votre clé SSH.
    Nom Un nom est requis pour votre clé SSH.
    Groupe de ressources Sélectionnez un groupe de ressources pour la clé SSH.
    Balises Vous pouvez attribuer une étiquette d'utilisateur à la clé SSH afin de pouvoir filtrer facilement une liste de clés SSH. Pour plus d'informations, voir Utilisation d'étiquettes.
    Etiquettes de gestion des accès Les étiquettes de gestion des accès permettent d'appliquer des stratégies d'accès flexibles à des ressources spécifiques. Pour plus d'informations, voir le tutoriel Contrôle de l'accès aux ressources à l'aide de balises UI.
    Type de clé SSH La valeur par défaut est rsa. Vous pouvez générer de nouvelles paires de clés RSA dans la console. Les clés RSA et ED25519 SSH préexistantes peuvent être téléchargées. Ed25519 ne peut être utilisé que si le système d'exploitation prend en charge ce type de clé. Ed25519 ne peut pas être utilisé avec des images Windows ou VMware.
  3. Sélectionnez Générer une paire de clés pour moi.

  4. Si vous le souhaitez, cliquez sur Obtenir un exemple d'appel d'API pour obtenir un code d'API avec toutes vos informations de clé SSH que vous pouvez copier.

  5. Cliquez sur Créer.

Votre clé SSH est désormais affichée dans la liste des clés SSH de l'interface utilisateur.

Importer une clé SSH dans la console

Vous pouvez importer une clé SSH de deux manières. Vous pouvez télécharger une clé publique à partir d'un fichier local. Vous pouvez également coller votre clé publique dans l'interface utilisateur.

Procédez comme suit pour importer une clé SSH à partir d'un fichier local.

  1. Dans la console IBM Cloud console, allez dans Menu de navigation icôneicône de menu > Infrastructure icône VPC > Compute > clés SSH.

  2. Cliquez sur Créer et saisissez les informations figurant dans le tableau 1. | Champ | Valeur | | --- | --- | | Les emplacements sont composés de régions (zones géographiques spécifiques) et de zones (centres de données tolérants aux pannes au sein d'une région). Sélectionnez l'emplacement où vous souhaitez créer votre clé SSH. | | Name | Un nom est requis pour votre clé SSH. | | Groupe de ressources | Sélectionnez un groupe de ressources pour la clé SSH. | | Balises | Vous pouvez affecter une balise utilisateur à la clé SSH afin de pouvoir filtrer facilement une liste de clés SSH. Pour plus d'informations, voir Utilisation d'étiquettes. | | Les balises de gestion d'accès permettent d'appliquer des politiques d'accès flexibles à des ressources spécifiques. Pour plus d'informations, voir le tutoriel Contrôle de l'accès aux ressources à l'aide de balises de l'interface utilisateur. |

  3. Sélectionnez Fournir une clé publique existante.

  4. Cliquez sur Télécharger la clé publique.

  5. Sélectionnez le fichier de clé publique et cliquez sur Ouvrir. L'extension de fichier, .pub, indique généralement le fichier qui contient la clé publique.

  6. Si vous le souhaitez, cliquez sur Obtenir un exemple d'appel d'API pour obtenir un code d'API avec toutes vos informations de clé SSH que vous pouvez copier.

  7. Cliquez sur Créer.

Procédez comme suit pour importer une clé SSH en la collant dans le matériel de clé publique dans l'interface utilisateur.

Si vous copiez une clé SSH à partir d'un terminal pour l'ajouter à votre VPC, des sauts de ligne supplémentaires sont parfois introduits, ce qui provoque une erreur d'analyse. Pour éviter ce problème, collez d'abord votre clé SSH dans un éditeur de texte et supprimez les retours à la ligne en trop. Copiez ensuite la clé SSH à partir de l'éditeur de texte et collez-la dans l'interface utilisateur VPC, l'interface de ligne de commande ou l'API.

Votre clé SSH importée est désormais affichée dans la liste des clés SSH de l'interface utilisateur.

Importation de votre clé SSH à l'aide de l'interface de ligne de commande

Pour importer une clé SSH à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud is key-create. Vous devez également spécifier un KEY_NAME et un KEY. Le fichier de clés SSH est id_rsa.pub ou id_ed25519.pub selon le type de clé que vous importez. Vous pouvez éventuellement spécifier la ressource à l'aide de la variable RESOURCE_GROUP_ID ou RESOURCE_GROUP_NAME. Pour plus d'informations, voir la section ibmcloud is key-create dans le guide de référence VPC CLI.

ibmcloud is key-create KEY_NAME (KEY | @KEY_FILE) [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME]

Importation de votre clé SSH à l'aide de l'API

Pour importer une clé SSH à l'aide de l'API, utilisez la commande Créer une clé. Vous ne pouvez pas créer de clé SSH à l'aide de l'API. Cependant, vous pouvez créer une clé SSH dans la console et, à partir de l'interface utilisateur, générer l'extrait de code API dont vous avez besoin et qui inclut la nouvelle clé SSH. Si vous utilisez l'interface utilisateur, veillez à enregistrer la clé SSH que vous avez créée dans la console avant de générer l'extrait de code de l'API.

Pour la propriété name, indiquez le nom de la clé SSH. Pour la propriété public_key, entrez les informations de clé publique. Pour la propriété type, spécifiez rsa ou ed25519 pour le type de clé SSH.

curl -X POST "$vpc_api_endpoint/v1/keys?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token" -d '{
      "name":"my-key-1",
      "public_key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En",
      "type":"rsa"
    }'

Importation de votre clé SSH à l'aide de Terraform

Créez une ressource ssh-key ou utilisez une clé ssh-key existante en faisant référence à la source de données ssh-key. Pour plus d'informations, voir la documentation Terraform sur ibm_is_ssh_keys

Créez une ressource ssh-key ou utilisez une clé ssh-key existante en faisant référence à la source de données ssh-key. Pour la propriété name, indiquez le nom de la clé SSH. Pour la propriété public_key, entrez les informations de clé publique. Pour la propriété type, spécifiez rsa ou ed25519 pour le type de clé SSH. La valeur par défaut est rsa. Vous devez spécifier ed25519 pour importer une clé SSH ed25519.

resource "ibm_is_ssh_key" "example_sshkey" {
   name       = "example-sshkey"
   public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR"
   type = "rsa"
}

Etapes suivantes

Une fois que vous avez localisé ou généré une clé SSH, il est temps de planifier et de créer un serveur.

Serveurs virtuels

Serveurs bare metal

Traitement des incidents liés aux clés SSH