Ce document explique comment se connecter à une instance de machine virtuelle (VM) via son adresse IP interne à l'aide d'une VM d'hôte bastion. Les hôtes bastion fournissent un point d'entrée externe dans un réseau cloud privé virtuel (VPC) contenant des VM sans adresse IP externe. Lorsque vous utilisez un hôte bastion, connectez-vous d'abord à l'hôte bastion, puis à la VM cible.
Se connecter à une VM à l'aide de son adresse IP interne est utile si la VM ne possède pas d'adresse IP externe. Si la VM possède une adresse IP externe, connectez-vous à la VM à l'aide de son adresse IP externe. Si vous devez vous connecter à une VM dépourvue d'adresses IP externes et que vous ne pouvez pas utiliser d'hôte bastion, consultez les autres méthodes répertoriées dans la section Options de connexion pour les VM internes uniquement.
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.
Créer une VM d'hôte bastion
Créez une VM Compute Engine dans le réseau interne du cluster privé pour agir en tant qu'hôte bastion pouvant gérer le cluster.
Console
Créez une VM d'hôte bastion en procédant comme suit:
Accédez à la page Créer une instance dans Google Cloud Console.
Accéder à la page Créer une instance
- Spécifiez les détails suivants de la VM:
- Nom : le nom de votre VM.
- Type de machine : un type de machine. Choisissez un petit type de machine, tel que
e2-micro
. - Système d'exploitation du Disque de démarrage : tout système d'exploitation Linux.
Développez la section Options avancées et procédez comme suit :
Dans la section Interfaces réseau, sélectionnez le même réseau et sous-réseau VPC que la VM cible.
Pour Adresse IPv4 externe, sélectionnez Éphémère.
Pour créer et démarrer la VM, cliquez sur Créer.
gcloud
Créez une VM d'hôte bastion à l'aide de la commande gcloud compute instances create
suivante:
-
In the Google Cloud console, 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.
Créez la VM de l'hôte bastion en exécutant la commande suivante:
gcloud compute instances create VM_NAME \ --zone=ZONE \ --machine-type=e2-micro \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --network-interface=subnet=SUBNET,address=""
Remplacez les éléments suivants :
VM_NAME
: Nom de la VM.ZONE
: zone de la VM.IMAGE_FAMILY
: famille d'images Linux.IMAGE_PROJECT
: projet d'image contenant l'image.SUBNET
: le même sous-réseau VPC que la VM cible. Si vous utilisez le VPC par défaut, leSUBNET
est défini surdefault
.
Se connecter à des VM
Pour vous connecter à une VM, suivez la procédure décrite dans l'un des onglets ci-dessous.
gcloud
Connectez-vous à une VM à l'aide de SSH via un hôte bastion en exécutant la commande gcloud compute ssh
:
Connectez-vous à la VM de l'hôte bastion en exécutant la commande suivante:
gcloud compute ssh BASTION_NAME
Remplacez
BASTION_NAME
par le nom de la VM de l'hôte bastion.À partir de la VM de l'hôte bastion, connectez-vous à la VM principale via son adresse IP interne à l'aide de l'option
--internal-ip
:gcloud compute ssh VM_NAME \ --internal-ip
Remplacez
VM_NAME
par le nom de la VM à laquelle vous souhaitez vous connecter.
Clients OpenSSH
Connectez-vous à une VM via un hôte bastion à partir d'un client OpenSSH, en procédant comme suit:
- Ajoutez une clé SSH à la VM si vous ne l'avez pas déjà fait.
Dans la console Google Cloud, accédez à la page Instances de VM et recherchez l'adresse IP externe de la VM de l'hôte bastion.
- Ouvrez un terminal sur votre poste de travail.
Connectez-vous à la VM de l'hôte bastion en exécutant la commande suivante :
ssh -A -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
Remplacez les éléments suivants :
PATH_TO_PRIVATE_KEY
: chemin d'accès au fichier de clé SSH privée correspondant à la clé publique que vous avez ajoutée à la VM.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
oucloudysanfrancisco
.-
EXTERNAL_IP
: adresse IP externe de la VM.
À partir de la VM de l'hôte bastion, connectez-vous via l'adresse IP interne d'une VM à l'aide de la commande suivante:
ssh USERNAME@INTERNAL_IP
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
oucloudysanfrancisco
.INTERNAL_IP
: adresse IP interne de la VM.
Application PuTTY
Connectez-vous à une VM via un hôte bastion à l'aide de PuTTY en procédant comme suit:
- Ajoutez une clé SSH à la VM de l'hôte bastion, si ce n'est pas déjà fait.
- Si l'application PuTTY n'est pas déjà installée sur votre poste de travail, téléchargez les fichiers de package PuTTY.
Dans la console Google Cloud, accédez à la page Instances de VM et recherchez l'adresse IP interne de la VM à laquelle vous souhaitez vous connecter.
- Ouvrez l'application PuTTY. Une fenêtre de configuration de connexion s'affiche.
Dans le champ
Host Name
, saisissez le nom d'utilisateur associé à la clé SSH et l'adresse IP externe de la VM à laquelle vous souhaitez vous connecter. Utilisez le format suivant :USERNAME@EXTERNAL_IP
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
oucloudysanfrancisco
.-
EXTERNAL_IP
: adresse IP externe de la VM.
- Dans le menu Catégorie, accédez à Connexion > SSH > Auth.
- 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.
- Dans la section Paramètres d'authentification, sélectionnez Autoriser le transfert d'agent.
- Cliquez sur Ouvrir pour vous connecter à la VM de l'hôte bastion.
À partir de la VM de l'hôte bastion, connectez-vous via l'adresse IP interne d'une VM à l'aide de la commande suivante:
ssh USERNAME@INTERNAL_IP
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
oucloudysanfrancisco
.INTERNAL_IP
: adresse IP interne de 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
- Découvrez comment gérer l'accès aux VM.
- Découvrez comment transférer des fichiers vers des VM.
- Découvrez comment les connexions SSH aux VM Linux fonctionnent sur Compute Engine.