Ce document explique comment empêcher les utilisateurs d'accéder aux instances de machines virtuelles (VM) en supprimant et en bloquant les clés SSH à partir des VM.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Cloud de Confiance by S3NS . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Cloud de Confiance console to access Cloud de Confiance by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init - Set a default region and zone.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud initPour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Cloud de Confiance .
Supprimer des clés SSH
Vous pouvez supprimer une clé SSH publique des métadonnées de projet ou d'instance à l'aide de la consoleCloud de Confiance , de la gcloud CLI ou de l'API Compute Engine.
Une fois que vous avez supprimé la dernière clé des métadonnées pour un utilisateur particulier, ou que la dernière clé des métadonnées d'un utilisateur particulier expire, Compute Engine supprime le fichier
~/.ssh/authorized_keysde l'utilisateur sur la VM.Supprimer une clé publique des métadonnées du projet
Supprimez une clé SSH publique des métadonnées du projet pour supprimer l'accès à toutes les VM d'un projet.
Lorsque vous supprimez une clé des métadonnées à l'aide de la gcloud CLI et de l'API Compute Engine, vous devez récupérer la liste des clés existantes, modifier la liste des clés pour supprimer les clés indésirables, et écraser les anciennes clés avec la liste des clés à conserver, comme expliqué dans la section suivante.
Console
Pour supprimer une clé SSH publique des métadonnées du projet à l'aide de la consoleCloud de Confiance , procédez comme suit :
Dans la console Cloud de Confiance , accédez à la page Métadonnées.
Accéder à la page "Métadonnées"
Cliquez sur l'onglet Clés SSH.
Cliquez sur Modifier en haut de la page.
Accédez à la clé SSH que vous souhaitez supprimer, puis cliquez sur le bouton de suppression situé à côté de la clé SSH.
Répétez cette étape pour chaque clé SSH que vous souhaitez supprimer.
Cliquez sur Enregistrer.
gcloud
Pour supprimer une clé SSH publique des métadonnées de projet à l'aide de la gcloud CLI, procédez comme suit :
Exécutez la commande
gcloud compute project-info describepour obtenir les métadonnées du projet :gcloud compute project-info describe
Le résultat ressemble à ce qui suit :
... metadata: ...
- key: ssh-keysvalue: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...Copiez la valeur de métadonnées
ssh-keys.Créez et ouvrez un fichier texte sur votre poste de travail.
Dans le fichier, collez la liste des clés SSH que vous venez de copier, puis effacez celles que vous souhaitez supprimer des métadonnées du projet.
Enregistrez et fermez le fichier.
Exécutez la commande
gcloud compute project-info add-metadatapour définir la valeurssh-keysà l'échelle du projet :gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
Remplacez
KEY_FILEpar l'un des éléments suivants :- Chemin d'accès au fichier que vous avez créé à l'étape précédente, si le projet comportait des clés SSH existantes.
- Chemin d'accès à votre nouveau fichier de clé SSH publique, si le projet ne disposait pas de clés SSH existantes.
REST
Pour supprimer une clé SSH publique des métadonnées de projet à l'aide de l'API Compute Engine, procédez comme suit :
Utilisez la méthode
projects.getpour obtenir les valeursfingerprintetssh-keysà partir des métadonnées.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
Remplacez
PROJECT_IDpar l'ID du projet.La réponse est semblable à ce qui suit :
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...Copiez la liste des valeurs de clés SSH et effacez les clés que vous souhaitez supprimer.
Utilisez la commande
projects.setCommonInstanceMetadatapour supprimer les clés SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS" } ] "fingerprint": "FINGERPRINT" }Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetEXISTING_SSH_KEYS: liste des clés SSH que vous souhaitez conserverFINGERPRINT: valeur defingerprintà partir de la réponse de la requêteprojects.get
Supprimer une clé SSH publique des métadonnées d'instance
Supprimez une clé SSH publique des métadonnées d'instance pour supprimer l'accès à une seule VM.
Lorsque vous supprimez une clé des métadonnées à l'aide de la gcloud CLI et de l'API Compute Engine, vous devez récupérer la liste des clés existantes, modifier la liste des clés pour supprimer les clés indésirables, et écraser les anciennes clés avec la liste des clés à conserver, comme expliqué dans la section suivante.
Console
Pour supprimer une clé SSH publique des métadonnées d'instance à l'aide de la consoleCloud de Confiance , procédez comme suit :
Dans la console Cloud de Confiance , accédez à la page Instances de VM.
Cliquez sur le nom de la VM pour laquelle vous souhaitez supprimer une clé.
Cliquez sur Modifier.
Dans la section Clés SSH, cliquez sur Afficher et modifier. La section s'étend pour afficher toutes les clés SSH publiques au niveau de l'instance.
Cliquez sur le bouton de suppression situé à côté de la clé SSH que vous souhaitez supprimer.
Répétez cette étape pour chaque clé SSH que vous souhaitez supprimer.
Cliquez sur Enregistrer.
gcloud
Pour supprimer une clé SSH publique des métadonnées d'instance à l'aide de la gcloud CLI, procédez comme suit :
Exécutez la commande
gcloud compute instances describepour obtenir les métadonnées de la VM :gcloud compute instances describe VM_NAME
Remplacez VM_NAME par le nom de la VM pour laquelle vous devez ajouter ou supprimer des clés SSH publiques.
Le résultat ressemble à ce qui suit :
... metadata: ...
- key: ssh-keysvalue: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...Copiez la valeur de métadonnées
ssh-keys.Créez et ouvrez un fichier texte sur votre poste de travail local.
Dans le fichier, collez la liste des clés SSH que vous venez de copier, puis effacez celles que vous souhaitez supprimer.
Enregistrez et fermez le fichier.
Exécutez la commande
gcloud compute project-info add-metadatapour définir la valeurssh-keysà l'échelle du projet :gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
Remplacez les éléments suivants :
VM_NAME: VM pour laquelle vous souhaitez supprimer la clé SSH.KEY_FILE: chemin d'accès au fichier contenant la liste de toutes les clés SSH du projet.
REST
Pour supprimer une clé SSH publique des métadonnées d'instance à l'aide de l'API Compute Engine, procédez comme suit :
Utilisez la méthode
instances.getpour obtenir les valeursfingerprintetssh-keysà partir des métadonnées.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetZONE: zone de la VM pour laquelle vous ajoutez une clé SSHVM_NAME: VM pour laquelle vous ajoutez une clé SSH
La réponse est semblable à ce qui suit :
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...Copiez la liste des valeurs de clés SSH et effacez les clés que vous souhaitez supprimer.
Utilisez la commande
instances.setMetadatapour supprimer les clés SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS } ] "fingerprint": "FINGERPRINT" }Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetEXISTING_SSH_KEYS: valeur dessh-keysà partir de la réponse de la requêteprojects.getFINGERPRINT: valeur defingerprintà partir de la réponse de la requêteinstances.get
Bloquer les clés SSH de projet à partir de VM qui utilisent des clés SSH basées sur les métadonnées
Vous pouvez empêcher les VM d'accepter les clés SSH stockées dans les métadonnées du projet en bloquant les clés SSH du projet provenant des VM. Vous pouvez bloquer les clés SSH de projet à partir de VM lors de la création d'une VM ou après la création d'une VM.
Bloquer les clés SSH de projet à partir d'une VM lors de la création de la VM
Vous pouvez bloquer les clés SSH de projet à partir des VM lors de la création de la VM à l'aide de la consoleCloud de Confiance , de la gcloud CLI ou de l'API Compute Engine.
Console
Pour créer une instance et l'empêcher d'accepter les clés SSH stockées dans les métadonnées du projet à l'aide de la console Cloud de Confiance , procédez comme suit :
Accédez à la page Créer une instance dans la console Cloud de Confiance .
Pour bloquer les clés SSH de projet, procédez comme suit :
Dans le menu de navigation, cliquez sur Sécurité.
Développez la section Gérer l'accès.
Pour désactiver OS Login, décochez la case Contrôler l'accès aux VM à l'aide des autorisations IAM.
Cochez la case Bloquer les clés SSH à l'échelle du projet.
Facultatif : spécifiez d'autres options de configuration. Pour en savoir plus, consultez Options de configuration lors de la création d'une instance.
Pour créer et démarrer l'instance, cliquez sur Créer.
gcloud
Pour créer une VM et l'empêcher d'accepter les clés SSH stockées dans les métadonnées du projet à l'aide de la gcloud CLI, utilisez la commande
gcloud compute instances create:gcloud compute instances create VM_NAME \ --metadata block-project-ssh-keys=TRUERemplacez
VM_NAMEpar le nom de la nouvelle VM.REST
Pour créer une VM et l'empêcher d'accepter les clés SSH stockées dans les métadonnées du projet à l'aide de Compute Engine, envoyez une requête
POSTà la méthodeinstances.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Remplacez les éléments suivants :
PROJECT_ID: ID du projetZONE: zone de la VM
Dans le corps de la requête, indiquez les noms d'utilisateur et les clés SSH publiques dans la propriété
items:... { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] } ...Bloquer les clés SSH de projet à partir d'une VM après la création de la VM
Vous pouvez bloquer les clés SSH de projet à partir des VM après la création de la VM à l'aide de la consoleCloud de Confiance , de la gcloud CLI ou de l'API Compute Engine.
Console
Pour empêcher les VM d'accepter les connexions à partir de clés SSH stockées dans les métadonnées du projet à l'aide de la console Cloud de Confiance , procédez comme suit :
Dans la console Cloud de Confiance , accédez à la page Instances de VM.
Cliquez sur le nom de la VM pour laquelle vous souhaitez bloquer les clés SSH de projet.
Cliquez sur Modifier.
Sous Clés SSH, cochez la case Bloquer les clés SSH à l'échelle du projet.
Lorsque vous avez terminé de modifier le paramètre de connexion pour les clés SSH, cliquez sur Enregistrer.
gcloud
Pour empêcher les VM d'accepter les connexions à partir de clés SSH stockées dans les métadonnées du projet à l'aide de la gcloud CLI, procédez comme suit :
Exécutez la commande
gcloud compute instances add-metadatasuivante :gcloud compute instances add-metadata VM_NAME --metadata block-project-ssh-keys=TRUE
Remplacez
VM_NAMEpar le nom de la VM pour laquelle vous souhaitez bloquer les clés SSH publiques au niveau du projet.REST
Pour empêcher les VM d'accepter les connexions à partir de clés SSH stockées dans les métadonnées du projet à l'aide de l'API Compute Engine, procédez comme suit :
Utilisez la méthode
instances.getpour obtenir la valeurfingerprintà partir des métadonnées.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetZONE: zone de la VM pour laquelle vous ajoutez une clé SSHVM_NAME: VM pour laquelle vous ajoutez une clé SSH
La réponse est semblable à ce qui suit :
... "fingerprint": "utgYE_XWtE8=" ...
Utilisez la méthode
instances.setMetadatapour définirblock-project-ssh-keyssurTRUE:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] "fingerprint": "FINGERPRINT" }Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetZONE: zone où se situe votre instanceINSTANCE_NAME: instance sur laquelle vous souhaitez bloquer les clés à l'échelle du projetFINGERPRINT: valeur defingerprintà partir de la réponse de la requêteinstances.get
Étapes suivantes
- Connectez-vous à des VM à l'aide des outils Google pour ne pas avoir à gérer vos propres clés SSH.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/11/23 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/11/23 (UTC)."],[],[]] -