Cette page explique comment utiliser la gcloud CLI pour vous connecter à votre
poste de travail depuis une machine locale à l'aide de SSH (ou de tout autre protocole TCP).
Cloud Workstations utilise un tunnel pour transférer le trafic TCP entre un port de votre machine locale et un port de votre poste de travail sans exposer ouvertement votre poste de travail à Internet. Les connexions sont authentifiées à l'aide des
identifiants de la gcloud CLI et autorisées conformément aux
stratégies IAM du poste de travail cible.
Une fois le tunnel TCP établi entre votre port local et le poste de travail, vous pouvez l'utiliser pour transférer le trafic à partir d'un client SSH, de curl ou de toute autre application utilisant TCP.
Pour plus de commodité, Cloud Workstations fournit la
gcloud workstations ssh
commande, qui établit le tunnel TCP et exécute un client SSH avec une
seule gcloud commande CLI.
Pour tous les autres cas d'utilisation, utilisez la
gcloud workstations start-tcp-tunnel
commande pour établir le tunnel TCP et exécuter l'application qui utilisera le
tunnel (par exemple, curl) dans un terminal distinct.
Avant de commencer
Si vous ne disposez pas encore d'un poste de travail auquel vous connecter, configurez-en un.
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la
gcloudCLI avec votre identité fédérée.Assurez-vous de disposer du rôle Cloud IAM "Utilisateur Cloud Workstations" sur le poste de travail auquel vous vous connecterez.
Se connecter à votre poste de travail à l'aide de SSH
Pour établir une connexion SSH sécurisée à votre poste de travail, utilisez la
gcloud workstations ssh
commande, qui démarre un tunnel TCP et exécute un client SSH.
Exécutez la commande suivante dans une fenêtre de terminal local :
gcloud workstations ssh \
--project=PROJECT_ID \
--region=REGION \
--cluster=CLUSTER_NAME \
--config=CONFIG_NAME \
--port=WORKSTATION_PORT \
--local-host-port=localhost:LOCAL_PORT \
WORKSTATION_NAME
Remplacez les valeurs suivantes :
PROJECT_ID: ID du Google Cloud projet contenant le poste de travail. Si l'option est omise, le projet actuel est utilisé.REGION: région où se trouve le cluster du poste de travail, par exempleus-central1.CLUSTER_NAME: nom du cluster de postes de travail contenant le poste de travail.CONFIG_NAME: nom de la configuration de poste de travail contenant ce poste de travail.WORKSTATION_PORT(facultatif) : port du poste de travail auquel le trafic doit être envoyé. Si cette option est omise, le trafic est envoyé au port22. Toutes les images Cloud Workstations préconfigurées incluent un serveur SSH qui s'exécute sur le port22du poste de travail.LOCAL_PORT(facultatif) : port localhost à partir duquel le trafic sera envoyé. Les numéros de port valides sont compris entre1024et65535. Si vous omettez l'option--local-host-portou spécifiez un port0, un port inutilisé est sélectionné automatiquement.WORKSTATION_NAME: nom du poste de travail.
Configuration SSH et fichier .ssh/config
Lorsque vous utilisez gcloud workstations ssh, la commande achemine votre connexion via localhost. Par conséquent, elle n'applique pas automatiquement les entrées Host de votre fichier ~/.ssh/config qui utilisent le nom du poste de travail.
Pour appliquer des configurations SSH personnalisées, choisissez l'une des options suivantes :
Option 1 : Transmettre des options sur la ligne de commande
Vous pouvez transmettre des options SSH directement au client SSH sous-jacent en les ajoutant après un double tiret (--) :
gcloud workstations