Se connecter à des VM Linux à l'aide d'Identity-Aware Proxy


Ce document explique comment se connecter à une instance de machine virtuelle (VM) via son adresse IP interne à l'aide du transfert TCP d'Identity-Aware Proxy (IAP).

Le transfert TCP d'IAP vous permet d'établir un tunnel chiffré sur lequel vous pouvez transférer les connexions SSH vers les VM. Lorsque vous vous connectez à une VM qui utilise IAP, IAP encapsule la connexion SSH en HTTPS avant de transférer la connexion à la VM. Ensuite, IAP vérifie si vous disposez des autorisations IAM requises et, le cas échéant, accorde l'accès à la VM.

Si vous devez vous connecter à une VM dépourvue d'adresses IP externes et que vous ne pouvez pas utiliser IAP, consultez les autres méthodes affichées dans la section Options de connexion pour les VM internes uniquement.

Avant de commencer

  • Créez une règle de pare-feu pour activer les connexions depuis IAP.
  • 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Définissez une région et une zone par défaut.

Systèmes d'exploitation compatibles

Ces méthodes de connexion sont compatibles avec toutes les images Linux publiques disponibles sur Compute Engine. Pour les images Fedora CoreOS, vous devez configurer l'accès SSH afin de pouvoir utiliser ces méthodes.

Se connecter à des VM

Pour vous connecter à une VM, suivez la procédure décrite dans l'un des onglets ci-dessous.

Console

Créez un tunnel pour les connexions SSH via l'adresse IP interne d'une VM à l'aide de "SSH dans le navigateur", comme suit :

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

gcloud

Créez un tunnel pour les connexions SSH via l'adresse IP interne d'une VM à l'aide de la commande gcloud compute ssh avec l'option --tunnel-through-iap :

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  1. Connectez-vous à la VM en exécutant la commande suivante :

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. Remplacez VM_NAME par le nom de la VM à laquelle vous souhaitez vous connecter.

IAP Desktop

Pour vous connecter à une VM à l'aide d'IAP Desktop, procédez comme suit :

  1. Installez IAP Desktop sur votre poste de travail, si ce n'est pas déjà fait.

  2. Ouvrez IAP Desktop. La fenêtre Ajouter des projets s'ouvre.

  3. Lorsque vous y êtes invité, connectez-vous à l'aide du compte Google qui a accès au projet avec les VM auxquelles vous souhaitez vous connecter.

  4. Dans la fenêtre Ajouter des projets, saisissez l'ID ou le nom du projet qui contient les VM auxquelles vous souhaitez vous connecter.

  5. Dans la fenêtre Explorateur de projets, effectuez à nouveau un clic droit sur le nom de la VM et sélectionnez Se connecter pour vous connecter à la VM.

Application PuTTY

Créez un tunnel pour les connexions SSH via l'adresse IP interne d'une VM à l'aide de PuTTY, en procédant comme suit :

  1. Ajoutez une clé SSH à la VM si vous ne l'avez pas déjà fait.
  2. Si l'application PuTTY n'est pas déjà installée sur votre poste de travail, téléchargez les fichiers de package PuTTY.
  3. Dans la console Google Cloud, accédez à la page Instances de VM et recherchez le nom de la VM à laquelle vous souhaitez vous connecter.

    Accéder à la page "Instances de VM"

  4. Ouvrez l'application PuTTY. Une fenêtre de configuration de connexion s'affiche.
  5. Dans le champ Host Name, saisissez le nom d'utilisateur associé à la clé SSH et le nom de la VM à laquelle vous souhaitez vous connecter. Utilisez le format suivant :

    USERNAME@VM_NAME

    Remplacez les éléments suivants :

    • USERNAME : Votre nom d'utilisateur. Si vous gérez vos clés SSH dans les métadonnées, le nom d'utilisateur est celui que vous avez spécifié lorsque vous avez créé la clé SSH. Pour les comptes OS Login, le nom d'utilisateur est défini dans votre profil Google. Par exemple, cloudysanfrancisco_example_com ou cloudysanfrancisco.
    • NAME : Nom de la VM.
  6. Dans le menu Catégorie, accédez à Connexion > SSH > Auth.
  7. Dans le champ Private key file for authentication (Fichier de clé privée pour l'authentification), sélectionnez le fichier de clé SSH privée correspondant à la clé publique que vous avez ajoutée à la VM.
  8. Dans le menu Catégorie, accédez à Connexion > Proxy.
  9. Dans la section Proxy type (Type de proxy), sélectionnez Local (Local).
  10. Dans le champ Telnet command, or local proxy command (Commande Telnet ou commande proxy locale), saisissez la commande suivante :

    gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE

    Remplacez les éléments suivants :

    • VM_NAME : nom de la VM à laquelle vous souhaitez vous connecter.
    • PORT_NUMBER : port sur lequel le daemon sshd s'exécute. La valeur PORT_NUMBER par défaut est 22.
    • PROJECT_ID : projet qui héberge la VM à laquelle vous souhaitez vous connecter.
    • ZONE : zone où se trouve la VM.
  11. Cliquez sur Open (Ouvrir) pour vous connecter à la VM.

Dépannage

Pour connaître les méthodes de diagnostic et de résolution des échecs de connexion SSH, consultez la page Résoudre les problèmes liés à SSH.

Étapes suivantes