Les VM compatibles avec les certificats OS Login acceptent les connexions à partir de clés SSH et de certificats SSH. Les certificats SSH sont des clés SSH qui ont été signées par une autre clé de confiance, en l'occurrence une autorité de certification gérée par OS Login. Ce document explique comment configurer des VM OS Login pour qu'elles exigent des certificats SSH pour les connexions SSH et bloquent les connexions à partir de clés SSH non signées.
Lorsque vous configurez OS Login pour exiger des certificats SSH pour les connexions aux VM, seuls les certificats SSH signés par l'autorité de certification sont autorisés à se connecter aux VM. Les connexions à partir de clés SSH non signées sont refusées. Les certificats SSH expirent au bout de cinq minutes. Après cette période, ils ne peuvent plus être utilisés pour se connecter aux VM et un nouveau certificat doit être généré.
Nous vous recommandons de configurer la OS Login#39;exploitation pour exiger des certificats SSH pour les connexions SSH afin d'ajouter une couche de sécurité contre les utilisateurs malveillants. Les certificats SSH sont valables pour une durée limitée et uniquement pour une VM spécifique. Cela signifie que s'ils sont compromis, leur surface d'attaque et leur fenêtre d'attaque sont beaucoup plus petites que celles des clés SSH à longue durée de vie.
Si votre organisation utilise la fédération d'identité de personnel, consultez Utiliser la fédération d'identité de personnel avec OS Login pour savoir comment activer les certificats SSH pour votre organisation.
Avant de commencer
- Configurez OS Login et attribuez des rôles IAM OS Login.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud .
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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- La VM à laquelle vous vous connectez doit disposer d'OpenSSH version 7.4 ou ultérieure pour utiliser les certificats SSH.
Accédez à la page Métadonnées.
Cliquez sur Modifier.
Cliquez sur Ajouter un élément.
- Dans le champ Clé, saisissez
enable-oslogin
. - Dans le champ Valeur, saisissez
TRUE
.
- Dans le champ Clé, saisissez
Cliquez sur Ajouter un élément.
- Dans le champ Clé, saisissez
enable-oslogin-certificates
. - Dans le champ Valeur, saisissez
TRUE
.
- Dans le champ Clé, saisissez
Cliquez sur Enregistrer.
Accédez à la page Instances de VM.
Cliquez sur le nom de la VM pour laquelle vous souhaitez exiger des certificats SSH.
Cliquez sur Modifier.
Dans la section Métadonnées, cliquez sur Ajouter un élément.
- Dans le champ Clé, saisissez
enable-oslogin
. - Dans le champ Valeur, saisissez
TRUE
.
- Dans le champ Clé, saisissez
Cliquez sur Ajouter un élément.
- Dans le champ Clé, saisissez
enable-oslogin-certificates
. - Dans le champ Valeur, saisissez
TRUE
.
- Dans le champ Clé, saisissez
Cliquez sur Enregistrer.
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Créez une clé SSH si vous n'en avez pas déjà une.
Signez votre clé SSH publique à l'aide de la méthode
projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" "compute_instance": "COMPUTE_INSTANCE", "service_account": "SERVICE_ACCOUNT" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant la VM à laquelle vous souhaitez vous connecterLOCATION
: région où se trouve la VM à laquelle vous souhaitez vous connecterPUBLIC_KEY
: contenu de votre fichier de clé publique SSHCOMPUTE_INSTANCE
: instance Compute Engine à laquelle se connecter, au formatprojects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID
.SERVICE_ACCOUNT
: compte de service associé à l'instance. Supprimez ce champ si aucun compte de service n'est associé à l'instance.
Copiez le certificat SSH à partir du résultat de la méthode
projects.locations.signSshPublicKey
et enregistrez le contenu dans un nouveau fichier.Définissez des autorisations sur le fichier de certificat SSH en exécutant la commande suivante :
sudo chmod 600 FILE_NAME
Remplacez
FILE_NAME
par le nom du fichier.Connectez-vous à la VM à l'aide de la commande suivante :
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Remplacez les éléments suivants :
PATH_TO_PRIVATE_KEY
: chemin d'accès au fichier de clé SSH privée.PATH_TO_SSH_CERTIFICATE
: chemin d'accès à votre fichier de certificat SSH.USERNAME
: votre nom d'utilisateur OS LoginEXTERNAL_IP
: adresse IP externe de la VM.
- Votre VM utilise une version non acceptée d'OpenSSH. Pour contourner ce problème, désactivez les certificats dans les métadonnées de la VM en définissant
enable-oslogin-certificates
surFALSE
dans les métadonnées d'instance. - Apprenez-en plus sur OS Login.
- Découvrez comment configurer OS Login avec la validation en deux étapes.
- Découvrez comment gérer OS Login dans une organisation.
Limites
Exiger des certificats SSH
Vous pouvez configurer OS Login pour exiger des certificats SSH pour toutes les connexions SSH aux VM OS Login de votre projet ou pour des VM uniques. Une fois que vous avez configuré OS Login pour exiger des certificats SSH, les connexions SSH depuis la console Google Cloud et gcloud CLI utilisent des certificats SSH par défaut. Si vous ne souhaitez pas configurer OS Login pour exiger des certificats, mais que vous souhaitez utiliser des certificats pour vous connecter à des VM, vous devez vous connecter à l'aide d'outils tiers, comme décrit dans la section Se connecter à une VM à l'aide d'un certificat SSH.
Exiger des certificats SSH pour toutes les VM d'un projet avec OS Login activé
Pour exiger des certificats SSH pour toutes les connexions à toutes les VM qui utilisent OS Login dans votre projet, utilisez la console Google Cloud ou gcloud CLI.
Console
Pour exiger des certificats SSH pour toutes les connexions aux VM compatibles avec OS Login, utilisez la console Google Cloud pour définir
enable-oslogin
etenable-oslogin-certificates
surTRUE
dans les métadonnées du projet :gcloud
Pour exiger des certificats SSH pour toutes les connexions aux VM compatibles avec OS Login, exécutez la commande
gcloud compute project-info add-metadata
pour définirenable-oslogin=TRUE
etenable-oslogin-certificates=TRUE
dans les métadonnées du projet :gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Exiger des certificats SSH sur une seule VM avec OS Login activé
Pour exiger des certificats pour toutes les connexions SSH à une seule VM utilisant OS Login, utilisez la console Google Cloud ou gcloud CLI.
Console
Pour exiger des certificats SSH pour toutes les connexions à une seule VM, utilisez la consoleGoogle Cloud pour définir
enable-oslogin
etenable-oslogin-certificates
surTRUE
dans les métadonnées d'instance :gcloud
Pour exiger des certificats SSH pour toutes les connexions à une seule VM, utilisez la commande
gcloud compute instances add-metadata
pour définirenable-oslogin=TRUE
etenable-oslogin-certificates=TRUE
dans les métadonnées d'instance :gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Remplacez
VM_NAME
par le nom de votre VM.Se connecter à une VM à l'aide d'un certificat SSH
Une fois que vous avez configuré OS Login pour exiger des certificats SSH, les connexions SSH depuis la console Google Cloud et gcloud CLI utilisent des certificats SSH par défaut. Si vous ne souhaitez pas configurer OS Login pour exiger des certificats, mais que vous souhaitez utiliser des certificats pour vous connecter à des VM, vous devez vous connecter à l'aide d'outils tiers.
Console
Connectez-vous à des VM à l'aide de SSH-in-Browser depuis la consoleGoogle Cloud en procédant comme suit :
gcloud
Exécutez la commande
gcloud beta compute ssh
pour vous connecter à une VM à l'aide d'un certificat :gcloud beta compute ssh VM_NAME
Remplacez
VM_NAME
par le nom de la VM à laquelle vous souhaitez vous connecter.Outils tiers
Pour utiliser un certificat SSH avec un client SSH tiers, procédez comme suit :
Dépannage
Si vous ne parvenez pas à vous connecter aux VM que vous avez configurées pour exiger des certificats SSH, cela peut être dû aux raisons suivantes :
Étape suivante
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/07/11 (UTC).
-