Cette page explique comment utiliser la CLI gcloud
pour se connecter à votre poste de travail à partir d'un ordinateur local à 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 l'exposer ouvertement à Internet. Les connexions sont authentifiées à l'aide d'identifiants de la CLI gcloud
et autorisées en fonction des stratégies IAM du poste de travail cible.
Une fois le tunnel TCP établi entre votre port local et la station 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 commande gcloud workstations ssh
, qui établit le tunnel TCP et exécute un client SSH à l'aide d'une seule commande CLI gcloud
.
Pour tous les autres cas d'utilisation, utilisez la commande gcloud workstations start-tcp-tunnel
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'une station de travail à laquelle vous connecter, configurez-en une.
Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :
gcloud init
Assurez-vous de disposer du rôle IAM Utilisateur Cloud Workstations sur la station de travail à laquelle vous allez vous connecter.
Se connecter à votre station de travail à l'aide de SSH
Pour établir une connexion SSH sécurisée à votre poste de travail, exécutez la commande gcloud workstations ssh
, qui lance un tunnel TCP et exécute un client SSH.
Pour copier la commande dans le tampon de copier-coller, cliquez sur
Copier l'exemple de code, puis collez la commande dans une fenêtre de terminal locale: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 projet Google Cloud contenant la station de travail. En cas d'omission, le projet actuel est utilisé.REGION
: région où se trouve le cluster de la station de travail (par exemple,us-central1
).CLUSTER_NAME
: nom du cluster de stations de travail contenant la station de travail.CONFIG_NAME
: nom de la configuration de station de travail contenant ces stations de travail.WORKSTATION_PORT
(facultatif): port du poste de travail vers lequel le trafic doit être envoyé. En cas d'omission, le trafic sera envoyé au port22
. Toutes les images Cloud Workstations préconfigurées incluent un serveur SSH qui s'exécute sur le port22
de la station de travail.LOCAL_PORT
(facultatif): port localhost à partir duquel le trafic sera envoyé. Les numéros de port valides sont compris entre1024
et65535
. Si vous omettez l'option--local-host-port
ou spécifiez le port0
, un port inutilisé est sélectionné automatiquement.WORKSTATION_NAME
: nom de la station de travail.
Facultatif: Pour transmettre des indicateurs et des positionnels à l'implémentation ssh
sous-jacente, ajoutez-les à la commande après un double tiret (--
).
Utiliser un tunnel TCP pour transférer du trafic TCP arbitraire vers votre station de travail
Pour vous connecter à une station de travail à l'aide d'une application TCP autre que ssh
, utilisez la commande gcloud workstations start-tcp-tunnel
:
Exécutez la commande CLI
gcloud
suivante pour créer un tunnel TCP authentifié.Pour copier la commande dans le tampon de copier-coller, cliquez sur
Copier l'exemple de code, puis collez la commande dans une fenêtre de terminal locale:gcloud workstations start-tcp-tunnel \ --project=PROJECT_ID \ --region=REGION \ --cluster=CLUSTER_NAME \ --config=CONFIG_NAME \ --local-host-port=localhost:LOCAL_PORT \ WORKSTATION_NAME \ WORKSTATION_PORT
Remplacez les valeurs suivantes :
PROJECT_ID
: ID du projet Google Cloud contenant la station de travail. En cas d'omission, le projet actuel est utilisé.REGION
: région où se trouve le cluster de la station de travail (par exemple,us-central1
).CLUSTER_NAME
: nom du cluster de stations de travail contenant la station de travail.CONFIG_NAME
: nom de la configuration de station de travail contenant ces stations de travail.LOCAL_PORT
(facultatif): port localhost à partir duquel le trafic sera envoyé. Les numéros de port valides sont compris entre1024
et65535
. Si vous omettez l'option--local-host-port
ou spécifiez le port0
, un port inutilisé est sélectionné automatiquement.WORKSTATION_NAME
: nom de la station de travail.WORKSTATION_PORT
: port du poste de travail vers lequel le trafic doit être envoyé. Les images Cloud Workstations préconfigurées incluent un serveur SSH qui s'exécute sur le port de station de travail22
.
La commande CLI
gcloud
effectue un test de connectivité avec la station de travail, ouvre un tunnel, puis affiche un numéro de port:Listening on port [LOCAL_PORT].
Tout le trafic envoyé à
localhost:LOCAL_PORT
est transféré vers la station de travail. Le port n'est accessible que par les applications exécutées sur votre ordinateur local.Laissez la CLI
gcloud
s'exécuter et ouvrez un autre terminal pour exécuter l'application qui se connecte à votre poste de travail.Par exemple, si vous exécutez sur votre poste de travail un serveur qui dessert le port WORKSTATION_PORT et que vous avez créé, à l'étape précédente, un tunnel TCP qui transfère le trafic entre votre port local LOCAL_PORT et le port WORKSTATION_PORT de votre poste de travail, vous pouvez exécuter
curl
sur votre ordinateur local pour vous connecter au serveur sur votre poste de travail:curl localhost:LOCAL_PORT Hello, world!
Lorsque vous avez terminé, revenez au terminal dans lequel vous avez démarré le tunnel TCP, puis interrompez la CLI
gcloud
en appuyant sur Ctrl+C.
Utiliser des serveurs SSH sur différents ports
Les images de conteneurs personnalisés peuvent également utiliser des serveurs SSH sur n'importe quel port. Pour prendre en charge les connexions à partir du tunnel CLI gcloud
, vous devez configurer des serveurs SSH personnalisés pour autoriser l'authentification par mot de passe et définir l'utilisateur cible avec un mot de passe vide.
Cloud Workstations utilise Cloud IAM pour garantir que seul le trafic autorisé est envoyé au serveur SSH.
Étapes suivantes
- Définir des variables d'environnement de conteneur dans les sessions SSH pour des images de conteneurs personnalisées
- Activer le transfert X11 pour les images de conteneurs personnalisés