En esta página, se describe cómo usar la CLI de gcloud
para conectarte a tu estación de trabajo desde una máquina local con SSH (o cualquier otro protocolo TCP).
Cloud Workstations usa un túnel para reenviar el tráfico de TCP entre un puerto
una máquina local y un puerto en la estación de trabajo sin exponerlos
tu estación de trabajo a Internet. Las conexiones se autentican mediante
credenciales de la CLI de gcloud
y autorizadas de acuerdo con el
las políticas de IAM de la estación de trabajo de destino.
Cuando se establece el túnel TCP entre el puerto local y la estación de trabajo puedes usarlo para reenviar tráfico desde un cliente SSH, curl o cualquier otro aplicación que usa TCP.
Para tu comodidad, Cloud Workstations proporciona la
gcloud workstations ssh
que establece el túnel TCP y ejecuta un cliente SSH con un
único comando gcloud
de CLI.
Para todos los demás casos de uso, utiliza la
gcloud workstations start-tcp-tunnel
para establecer el túnel TCP y ejecutar la aplicación que usará el
túnel (por ejemplo, curl
) en una terminal independiente.
Antes de comenzar
Si aún no tienes una estación de trabajo a la cual conectarte, configura una estación de trabajo.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Asegúrate de tener las Usuario de Cloud Workstations Rol de IAM en la estación de trabajo a la que te conectarás.
Conéctate a tu estación de trabajo con SSH
Para establecer una conexión SSH segura a tu estación de trabajo, usa el
gcloud workstations ssh
, que inicia un túnel TCP y ejecuta un cliente SSH.
Para copiar el comando en el búfer de copiar y pegar, haz clic en
Copia la muestra de código y, luego, pega el comando en una ventana 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
Reemplaza los siguientes valores:
PROJECT_ID
: Es el ID del proyecto de Google Cloud para la proyecto que contiene la estación de trabajo. Si se omite, el proyecto actual es que se usan.REGION
: Es la región en la que se encuentra el clúster de la estación de trabajo. ubicada, por ejemplo,us-central1
.CLUSTER_NAME
: Es el nombre del clúster de estaciones de trabajo que contiene la estación de trabajo.CONFIG_NAME
: Es el nombre de la configuración de la estación de trabajo. que contiene estas estaciones de trabajo.WORKSTATION_PORT
(opcional): Es el puerto de la estación de trabajo. a la que se debe enviar el tráfico. Si se omite, el tráfico se enviará al puerto22
Todas las imágenes de Cloud Workstations preconfiguradas incluyen un servidor SSH que se ejecuta en el puerto de estación de trabajo22
.LOCAL_PORT
(opcional): Es el puerto localhost desde el que y el tráfico que se enviará. Los números de puerto válidos van de1024
a65535
. Si omites la marca--local-host-port
o especifica un puerto de0
en el que se debe usar un puerto sin utilizar automáticamente.WORKSTATION_NAME
: Es el nombre de la estación de trabajo.
Opcional: Para pasar marcas y posicionales al ssh
subyacente, sigue estos pasos:
implementación, agrégalos al comando después de un guion doble (--
).
Usa un túnel TCP para reenviar el tráfico de TCP arbitrario a tu estación de trabajo.
Para conectarte a una estación de trabajo con una aplicación de TCP que no sea ssh
, usa el
gcloud workstations start-tcp-tunnel
:
Ejecuta el siguiente comando
gcloud
de la CLI para crear una instancia de túnel TCP.Para copiar el comando en el búfer de copiar y pegar, haz clic en
Copia la muestra de código y, luego, pega el comando en una ventana de terminal local: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
Reemplaza los siguientes valores:
PROJECT_ID
: Es el ID del proyecto de Google Cloud para la proyecto que contiene la estación de trabajo. Si se omite, el proyecto actual es que se usan.REGION
: Es la región en la que se encuentra el clúster de la estación de trabajo. ubicada, por ejemplo,us-central1
.CLUSTER_NAME
: Es el nombre del clúster de estaciones de trabajo que contiene la estación de trabajo.CONFIG_NAME
: Es el nombre de la estación de trabajo. de Terraform que contiene estas estaciones de trabajo.LOCAL_PORT
(opcional): Es el puerto localhost desde el que y el tráfico que se enviará. Los números de puerto válidos van de1024
a65535
. Si omite la marca--local-host-port
o especifica un puerto de0
que no esté en uso el puerto se selecciona automáticamente.WORKSTATION_NAME
: Es el nombre de la estación de trabajo.WORKSTATION_PORT
: Es el puerto de la estación de trabajo al que el tráfico debe enviarse. Imágenes preconfiguradas de Cloud Workstations Incluir un servidor SSH que se ejecuta en el puerto de estación de trabajo22
El comando de la CLI de
gcloud
realiza una prueba de conectividad con la estación de trabajo, abre un túnel y, luego, muestra un número de puerto:Listening on port [LOCAL_PORT].
Todo el tráfico que se envía a
localhost:LOCAL_PORT
se desvía a la estación de trabajo. Solo las aplicaciones que se ejecutan en tu computadora local pueden acceder al puerto.Deja la CLI de
gcloud
en ejecución y abre otra terminal para ejecutar la que se conecta a tu estación de trabajo.Por ejemplo, si ejecutas un servidor en tu estación de trabajo que entrega el puerto WORKSTATION_PORT y, en el paso anterior, creó un túnel TCP que reenvía el tráfico entre su puerto local LOCAL_PORT y el puerto de la estación de trabajo WORKSTATION_PORT, puedes ejecutar
curl
en tu para conectarte al servidor en tu estación de trabajo:curl localhost:LOCAL_PORT Hello, world!
Cuando termines, regresa a la terminal en la que iniciaste el túnel TCP y presiona Control + C para interrumpir la CLI de
gcloud
.
Usa servidores SSH en puertos diferentes
Imágenes de contenedor personalizadas
también puede usar servidores SSH en cualquier puerto. Para admitir conexiones desde el túnel de la CLI de gcloud
, debes configurar servidores SSH personalizados para permitir la autenticación de contraseña y establecer el usuario de destino con una contraseña vacía.
Cloud Workstations usa
Cloud IAM
para garantizar que solo se envíe tráfico autorizado al servidor SSH.
¿Qué sigue?
- Cómo establecer variables de entorno del contenedor en sesiones de SSH para imágenes de contenedor personalizadas
- Habilita el reenvío de X11 para las imágenes de contenedor personalizadas