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ône > Infrastructure
> 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"
- Pour le type de clé SSH RSA, exécutez:
- 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
- Dans la console IBM Cloud console, allez dans Menu de navigation icône
> Infrastructure
> Compute > clés SSH.
- 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.
-
Dans la console IBM Cloud console, allez dans Menu de navigation icône
> Infrastructure
> Compute > clés SSH.
-
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. -
Sélectionnez Générer une paire de clés pour moi.
-
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.
-
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.
-
Dans la console IBM Cloud console, allez dans Menu de navigation icône
> Infrastructure
> Compute > clés SSH.
-
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. |
-
Sélectionnez Fournir une clé publique existante.
-
Cliquez sur Télécharger la clé publique.
-
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. -
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.
-
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
- Planification des serveurs virtuels
- Création d'un serveur virtuel dans la console
- Création d'un serveur virtuel à l'aide de l'interface de ligne de commande
Serveurs bare metal
Traitement des incidents liés aux clés SSH