Gestion des clés SSH
Pour accéder aux instances IBM Cloud® Virtual Servers for Virtual Private Cloud, vous devez disposer d'une clé SSH. Vous pouvez créer, mettre à jour et supprimer des clés SSH dans la console, l'interface de ligne de commande et l'API IBM Cloud.
La gestion des clés à l'aide de la console IBM Cloud ou de l'interface de ligne de commande n'a aucun effet sur les clés des instances déjà créées. (Pour une instance Linux existante, vous pouvez modifier les clés directement dans le répertoire
~/.ssh/
de l'instance.)
IBM Cloud® Virtual Private Cloud prend en charge deux types différents de clés SSH publiques.
- RSA
- Ed25519
Vous pouvez générer de nouvelles paires de clés RSA à l'aide de l'interface utilisateur. Les clés SSH RSA et Ed25519 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.
Avant de commencer
Pour créer une instance de serveur virtuel, vous devez créer ou télécharger une clé SSH et la mettre à disposition afin de pouvoir vous connecter à votre instance après sa mise à disposition.
Gestion des clés SSH dans la console IBM Cloud
Lorsque vous mettez à disposition un serveur virtuel, vous pouvez créer une nouvelle clé SSH, effectuer une sélection dans une liste disponible de clés SSH existantes ou en télécharger une nouvelle.
-
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.
-
Dans l'onglet Clés SSH pour VPC, cliquez sur l'icône Actions
pour une clé SSH et sélectionnez l'une des options disponibles.
Actions sur les clés SSH Action Description Renommer Après avoir mis à jour une clé SSH existante, la clé est renommée immédiatement. Si vous supprimez une clé SSH, elle ne pourra plus être utilisée lors du provisionnement d'une instance ou lors du rechargement du système d'exploitation d'une instance existante. Cependant, la clé est toujours disponible sur toutes les instances que vous avez précédemment provisionnées avec elle, et vous pouvez l'utiliser pour vous connecter. Vous obtenez l'affichage d'une liste des régions disponibles pour votre groupe de ressources spécifique.
Gestion des clés SSH à l'aide de l'interface de ligne de commande
Vous pouvez également gérer vos clés SSH à l'aide de l'interface de ligne de commande.
Vérifiez que le plug-in d' IBM Cloud vpc-infrastructure
est installé. Pour plus d'informations, voir Référence de l'interface de ligne de commande d'IBM Cloud pour VPC.
Action | Commande | Que se passe-t-il ensuite ? |
---|---|---|
Créez une clé SSH. | ibmcloud is key-create |
Une fois que vous avez créé une clé SSH, celle-ci est ajoutée à la liste des clés. |
Afficher les détails de la clé. | ibmcloud is key |
Vous pouvez afficher le nom d'une clé et son ID. |
Répertorier les clés. | ibmcloud is keys |
Vous pouvez afficher toutes vos clés SSH existantes. |
Clé de mise à jour. | ibmcloud is key-update |
Lorsqu'une clé existante est mise à jour, elle est renommée immédiatement. |
Supprimer une clé. | ibmcloud is key-delete |
Une fois que vous avez supprimé une clé SSH, elle ne peut plus être utilisée lorsque vous provisionnez une instance ou lorsque vous effectuez un rechargement du système d'exploitation sur une instance existante. Cependant, la clé reste disponible sur toutes les instances que vous avez précédemment provisionnées avec elle, et vous pouvez l'utiliser pour vous connecter. |
Gestion des clés SSH à l'aide de l'API
Vous pouvez également gérer vos clés SSH en utilisant l'API. Pour plus d'informations sur les variables $vpc_api_endpoint
et $iam_token
dans les exemples suivants, voir les sections Authentification et URL de point
final dans l'introduction à l'API Virtual Private Cloud.
Gestion des clés SSH à l'aide de Terraform
Vous pouvez également gérer vos clés SSH en utilisant Terraform. Pour plus d'informations, voir ibm_is_ssh_keys.
Affichage de la liste de toutes vos clés SSH à l'aide de l'interface utilisateur
Pour répertorier toutes vos clés SSH, procédez comme suit.
- 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.
Affichage de la liste de toutes vos clés SSH à l'aide de l'interface de ligne de commande
Pour afficher toutes vos clés SSH existantes, utilisez la commande ibmcloud is keys.
Utilisez l'option --all-resource-groups
pour répertorier les clés SSH pour tous les groupes de ressources disponibles. Vous pouvez éventuellement filtrer la liste pour n'inclure que les clés SSH d'un groupe de ressources spécifique.
Spécifiez le groupe de ressources à l'aide de la variable RESOURCE_GROUP_ID
ou RESOURCE_GROUP_NAME
. Pour plus d'informations, voir ibmcloud is keys.
ibmcloud is keys [--all-resource-groups]
Affichage de la liste de toutes vos clés SSH à l'aide de 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 toutes vos clés SSH à 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 {}
Affichage des détails de votre clé SSH à l'aide de l'interface utilisateur
Vous pouvez afficher les détails suivants d'une clé SSH.
- Nom
- Groupe de ressources
- Empreinte digitale
- Type
- Longueur
- Date de création (locale)
Pour afficher les détails d'une clé SSH, procédez comme suit.
- Dans la console IBM Cloud console, allez dans Menu de navigation icône
> Infrastructure
> Compute > clés SSH.
- Sur la page Clés SSH pour VPC, la liste de toutes les clés SSH existantes s'affiche.
- Dans le menu Actions, vous pouvez Renommer ou Supprimer la clé SSH.
Affichage des détails de votre clé SSH à l'aide de l'interface de ligne de commande
Vous pouvez afficher le nom de la clé et l'ID de la clé à l'aide de la commande ibmcloud is key. Indiquez le nom de la clé SSH à l'aide de la variable KEY
. Pour plus d'informations, voir ibmcloud is key dans le guide de référence CLI VPC.
ibmcloud is key KEY
Affichage des détails de votre clé SSH à l'aide de l'API
Pour extraire des informations pour une clé spécifique à l'aide de l'API, utilisez Extraire une clé.
Pour la variable $id
, indiquez le nom de la clé SSH dont vous souhaitez afficher les détails.
curl -X GET "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"
Affichage des détails de votre clé SSH à l'aide de Terraform
Pour extraire des informations pour une clé spécifique à l'aide de Terraform, utilisez ibm_is_ssh_keys.
Pour la variable name
, indiquez le nom de la clé SSH dont vous souhaitez afficher les détails.
data "ibm_is_ssh_key" "example" {
name = "example-ssh-key"
}
Création d'une clé SSH à l'aide de l'interface utilisateur
Procédez comme suit pour créer une nouvelle clé SSH. Vous ne pouvez créer que des types de clé SSH RSH. Pour utiliser une clé SSH Ed25519, cette clé SSH doit être importée. Pour plus d'informations, voir Importation d'une clé SSH à l'aide de l'interface utilisateur.
-
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.
Création d'une clé SSH pour les sélections VPC 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. 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 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. Type de clé SSH La valeur par défaut est rsa
.Vous pouvez générer de nouvelles paires de clés RSA à l'aide de l'interface utilisateur. Les clés SSH RSA et Ed25519 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 nouvelle clé SSH est désormais affichée dans la liste des clés SSH de l'interface utilisateur.
Importation d'une clé SSH à l'aide de l'interface utilisateur
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 copier et coller vos informations de 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.
Création d'une clé SSH pour les sélections VPC 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. 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 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. Type de clé SSH Sélectionnez un type de clé pour la clé SSH. La valeur par défaut est rsa
. Le type de clé SSHed25519
ne peut être utilisé que pour créer des instances si le système d'exploitation prend en charge ce type de clé. Ce type de clé ne peut pas être utilisé avec des images Windows ou VMware. -
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.
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. Le fichier que vous importez est id_rsa.pub
ou id_ed25519.pub
, qui contient votre
clé publique. Vous devez spécifier le nom ou l'ID de la clé SSH à l'aide de la variable KEY_NAME
et la clé SSH publique que vous importez à l'aide de la variable KEY
. Spécifiez le type de clé SSH avec l'option --key-type
.
Vous pouvez éventuellement spécifier un groupe de ressources lorsque vous créez la clé SSH. Spécifiez le groupe de ressources à l'aide de la variable RESOURCE_GROUP_ID
ou RESOURCE_GROUP_NAME
. Voir ibmcloud is key-create dans le guide de référence de l'interface de ligne de commande VPC.
ibmcloud is key-create KEY_NAME (KEY | @KEY_FILE) [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--key-type KEY_TYPE]
Importation de votre clé SSH à l'aide de l'API
Pour importer une nouvelle clé SSH à l'aide de l'API, utilisez Créer une clé. Le fichier que vous importez est id_rsa.pub
ou id_ed25519.pub
, qui contient votre clé publique.
Vous ne pouvez pas créer de nouvelle clé SSH à l'aide de l'API. Toutefois, vous pouvez créer une nouvelle clé SSH à l'aide de l'interface utilisateur et, à partir de l'interface utilisateur, générer le fragment de code d'API dont vous avez
besoin et qui inclut la nouvelle clé SSH. Pour plus d'informations, voir Création d'une clé SSH à l'aide de l'interface utilisateur.
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.
Le type de clé SSH Ed25519 ne peut être utilisé que pour créer des instances si le système d'exploitation prend en charge ce type de clé. Ce type de clé ne peut pas être utilisé avec des images Windows ou VMware.
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
Pour importer une nouvelle clé SSH à l'aide de Terraform, utilisez ibm_is_ssh_keys.
Pour importer une nouvelle clé SSH, procédez comme suit.
-
Créez un type de bloc de ressources
ibm_is_ssh_key
avec les valeurs requises. Pour l'attributname
, indiquez le nom factice de la clé SSH. Pour l'attributpublic_key
, entrez les informations de clé publique factice.resource "ibm_is_ssh_key" "example_sshkey" { name = "my-key" public_key = "public-key" }
-
Après avoir créé la ressource, exécutez la commande Terraform suivante pour importer la clé SSH.
terraform import ibm_is_ssh_key.example_sshkey d7bec597-4726-451f-8a63-e62e6f19c32c
-
Améliorez la configuration pour qu'elle corresponde à l'état. Copiez les détails du bloc de ressources pour éviter de remplacer le bloc de ressources.
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" }
Mise à jour de votre clé SSH à l'aide de l'interface de ligne de commande
Vous pouvez mettre à jour une clé existante à l'aide de la commande ibmcloud is key-update. Lorsqu'une clé existante est mise à jour, elle est renommée immédiatement. Pour plus d'informations, voir ibmcloud is key-delete.
Vous devez spécifier le nom de clé SSH en cours à l'aide de la variable KEY
et le nouveau nom de clé SSH à l'aide de la variable NEW_NAME
dans l'option --name
.
ibmcloud is key-update KEY [--name NEW_NAME]
Mise à jour de votre clé SSH à l'aide de l'API
Pour mettre à jour une clé SSH existante à l'aide de l'API, utilisez Mettre à jour une clé. Lorsqu'une clé existante est mise à jour, elle est renommée immédiatement.
Pour la variable $id
, indiquez le nom actuel de la clé SSH. Pour la propriété name
, indiquez le nouveau nom de la clé SSH.
curl -X PATCH "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "name": "my-key-1-updated" }'
Mise à jour de votre clé SSH à l'aide de Terraform
Pour mettre à jour une clé SSH existante à l'aide de Terraform, utilisez ibm_is_ssh_keys. Lorsqu'une clé existante est mise à jour, elle est renommée immédiatement.
-
Mettez à jour le bloc de ressources de clé SSH. Pour la propriété
name
, indiquez le nouveau nom de la clé SSH.resource "ibm_is_ssh_key" "example_sshkey" { name = "new-example-sshkey" public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR" type = "rsa" }
-
Exécutez
terraform apply
pour mettre à jour la ressource avec le nouveau nom.
Suppression de votre clé SSH à l'aide du CLI
Pour supprimer une ou plusieurs clés SSH à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud is key-delete. Pour plus d'informations, voir ibmcloud is key-delete.
Indiquez le nom de chaque clé SSH que vous supprimez à l'aide de la variable KEY
.
ibmcloud is key-delete (KEY1 KEY2 ...)
Suppression de votre clé SSH à l'aide de l'API
Pour supprimer une ou plusieurs clés SSH à l'aide de l'API, utilisez Supprimer une clé.
Pour la variable $id
, indiquez le nom de la clé SSH à supprimer.
curl -X DELETE "$vpc_api_endpoint/v1/keys/$id?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"
Suppression de votre clé SSH à l'aide de Terraform
Pour supprimer votre clé SSH à l'aide de Terraform, utilisez ibm_is_ssh_keys.
Pour l'attribut example_sshkey
, remplacez-le par la clé SSH que vous souhaitez supprimer.
terraform destroy --target ibm_is_ssh_keys.example_sshkey