Ce document explique comment utiliser les clés de sécurité physiques enregistrées dans votre compte Google pour vous connecter aux instances de machines virtuelles (VM) qui utilisent OS Login.
Les clés de sécurité physique permettent de générer des fichiers de clés SSH privées pour se connecter aux VM. Lorsque vous utilisez l'outil SSH dans le navigateur de la console Google Cloud ou Google Cloud CLI pour vous connecter à des VM à l'aide de clés de sécurité, OS Login récupère le fichier de clé SSH privée associé à votre clé de sécurité et configure le fichier de clé SSH pour vous. Lorsque vous vous connectez à l'aide d'outils tiers, vous devez utiliser l'API OS Login pour récupérer les informations sur les clés SSH et configurer vous-même le fichier de clé SSH.
Avant de commencer
- Ajoutez une clé de sécurité à votre compte Google.
- Configurez 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 comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Limites
- Les VM pour lesquelles des clés de sécurité sont activées n'acceptent que les connexions à partir de clés SSH associées aux clés de sécurité physiques enregistrées dans votre compte Google.
La VM à laquelle vous vous connectez et le poste de travail à partir duquel vous vous connectez doivent tous deux utiliser la version d'OpenSSH 8.2 ou une version ultérieure compatible avec les types SSH de clés de sécurité. Les systèmes d'exploitation de VM Compute Engine suivants sont compatibles avec les clés de sécurité :
- Debian 11 ou version ultérieure
- SUSE Linux Enterprise Server (SLES) 15 (ou version ultérieure)
- Ubuntu 20.04 LTS (ou version ultérieure)
- Container-Optimized OS 93 LTS (ou version ultérieure)
- Rocky Linux 9 (ou version ultérieure)
Pour vérifier si votre environnement est compatible avec les clés de sécurité, exécutez la commande suivante :
ssh -Q key | grep ^sk-
Si la commande ne renvoie aucun résultat, votre environnement n'est pas compatible avec les clés de sécurité.
Activer les clés de sécurité avec OS Login
Vous pouvez activer l'utilisation de clés de sécurité pour toutes les VM qui utilisent OS Login dans votre projet ou pour des VM uniques.
Activer les clés de sécurité pour toutes les VM d'un projet avec OS Login activé
Pour activer les clés de sécurité sur toutes les VM qui utilisent OS Login dans votre projet, utilisez la console Google Cloud ou la CLI gcloud.
Console
Pour activer les clés de sécurité pour toutes les VM OS Login, définissez enable-oslogin
et enable-oslogin-sk
sur TRUE
dans les métadonnées du projet à l'aide de la console Google Cloud :
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-sk
. - Dans le champ Valeur, saisissez
TRUE
.
- Dans le champ Clé, saisissez
Cliquez sur Enregistrer.
gcloud
Pour activer les clés de sécurité pour toutes les VM compatibles avec OS Login, exécutez la commande gcloud compute project-info add-metadata
pour définir enable-oslogin=TRUE
et enable-oslogin-sk=TRUE
dans les métadonnées du projet :
gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Activer les clés de sécurité sur une seule VM avec OS Login activé
Pour activer les clés de sécurité sur une VM utilisant OS Login, utilisez la console Google Cloud ou la CLI gcloud.
Console
Pour activer les clés de sécurité sur une seule VM, utilisez la console Google Cloud pour définir enable-oslogin
et enable-oslogin-sk
sur TRUE
dans les métadonnées d'instance :
Accédez à la page Instances de VM.
Cliquez sur le nom de la VM pour laquelle vous souhaitez activer les clés de sécurité.
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-sk
. - Dans le champ Valeur, saisissez
TRUE
.
- Dans le champ Clé, saisissez
Cliquez sur Enregistrer.
gcloud
Pour activer les clés de sécurité sur une seule VM, utilisez la commande gcloud compute instances add-metadata
pour définir enable-oslogin=TRUE
et enable-oslogin-sk=TRUE
dans les métadonnées d'instance :
gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Remplacez VM_NAME
par le nom de votre VM.
Se connecter à une VM à l'aide d'une clé de sécurité
Vous pouvez vous connecter à une VM qui utilise des clés de sécurité à l'aide de la console Google Cloud, de gcloud CLI ou d'outils tiers. Si vous vous connectez à des VM à l'aide de la console Google Cloud ou de gcloud CLI, Compute Engine configure votre clé SSH. Si vous vous connectez à des VM à l'aide d'outils tiers, vous devez effectuer la configuration vous-même.
Console
Lorsque vous vous connectez à des VM à l'aide de l'outil SSH dans le navigateur de la console Google Cloud, SSH dans le navigateur récupère les clés privées associées à vos clés de sécurité.
Pour vous connecter à une VM sur laquelle des clés de sécurité sont activées, procédez comme suit:
Dans Google Cloud Console, accédez à la page Instances de VM.
Dans la liste des VM, cliquez sur SSH sur la ligne de la VM à laquelle vous souhaitez vous connecter.
Lorsque vous y êtes invité, appuyez sur votre clé de sécurité.
gcloud
Lorsque vous vous connectez à des VM à l'aide de la CLI gcloud, la CLI gcloud récupère les clés privées associées à vos clés de sécurité et configure les fichiers de clés privées. Cette configuration est persistante et s'applique à toutes les VM qui utilisent des clés de sécurité.
Exécutez la commande gcloud beta compute ssh
pour vous connecter à une VM sur laquelle des clés de sécurité sont activées :
gcloud beta compute ssh VM_NAME
Outils tiers
Avant de vous connecter à une VM sur laquelle des clés de sécurité sont activées, vous devez récupérer les clés privées associées à vos clés de sécurité et configurer les fichiers de clé privée. Cet exemple utilise la bibliothèque cliente Python pour effectuer la configuration.
Vous ne devez effectuer cette configuration que la première fois que vous vous connectez à une VM. La configuration est persistante et s'applique à toutes les VM qui utilisent des clés de sécurité dans votre projet.
Depuis un terminal de votre poste de travail, procédez comme suit :
Si ce n'est pas déjà fait, installez la bibliothèque cliente Google pour Python en exécutant la commande suivante :
pip3 install google-api-python-client
Enregistrez l'exemple de script Python suivant, qui récupère les clés privées associées à vos clés de sécurité, configure les fichiers de clés privées et se connecte à la VM.
Exécutez le script pour configurer vos clés et éventuellement vous connecter à la VM.
python3 SCRIPT_NAME.py --user_key=USER_KEY --ip_address=IP_ADDRESS [--dryrun]
Remplacez les éléments suivants :
SCRIPT_NAME
: nom de votre script de configurationUSER_KEY
: votre adresse e-mail principale.IP_ADDRESS
: adresse IP externe de la VM à laquelle vous vous connectez.[--dryrun]
(facultatif) : ajoutez l'option--dryrun
pour imprimer la commande de connexion sans vous connecter à la VM. Si vous ne spécifiez pas cette option, le script exécute la commande de connexion.
Étape suivante
- Découvrez comment configurer OS Login avec la validation en deux étapes.
- Découvrez comment gérer OS Login dans une organisation.