Nesta página, descrevemos como usar a CLI gcloud
para se conectar à
estação de trabalho a partir de uma máquina local usando SSH (ou qualquer outro protocolo TCP).
O Cloud Workstations usa um túnel para encaminhar o tráfego TCP entre uma porta na
máquina local e uma porta na estação de trabalho sem expor abertamente
a estação de trabalho à Internet. As conexões são autenticadas usando
credenciais da CLI gcloud
e autorizadas de acordo com as
políticas do IAM da estação de trabalho de destino.
Depois que o túnel TCP for estabelecido entre a porta local e a estação de trabalho, será possível usá-lo para encaminhar tráfego de um cliente SSH, curl ou qualquer outro aplicativo que use TCP.
Por conveniência, o Cloud Workstations fornece o comando
gcloud workstations ssh
, que estabelece o túnel TCP e executa um cliente SSH com um
único comando gcloud
da CLI.
Para todos os outros casos de uso, use o comando gcloud workstations start-tcp-tunnel
para estabelecer o túnel TCP e executar o aplicativo que usará o túnel (por exemplo, curl
) em um terminal separado.
Antes de começar
Se você ainda não tiver uma estação de trabalho para se conectar, configure uma.
Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:
gcloud init
Verifique se você tem o papel do IAM Usuário do Cloud Workstations na estação de trabalho a que você se conectará.
Conectar-se à estação de trabalho usando SSH
Para estabelecer uma conexão SSH segura com a estação de trabalho, use o comando gcloud workstations ssh
, que inicia um túnel TCP e executa um cliente SSH.
Para copiar o comando no buffer de copiar e colar, clique em
Copiar amostra de código e cole o comando em uma janela 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
Substitua os seguintes valores:
PROJECT_ID
: o ID do projeto do Google Cloud para o projeto que contém a estação de trabalho. Se omitido, o projeto atual será usado.REGION
: a região em que o cluster da estação de trabalho está localizado, por exemplo,us-central1
.CLUSTER_NAME
: o nome do cluster da estação de trabalho que a contém.CONFIG_NAME
: o nome da configuração da estação de trabalho que a contém.WORKSTATION_PORT
(opcional): a porta na estação de trabalho para onde o tráfego será enviado. Se omitido, o tráfego será enviado para a porta22
. Todas as imagens pré-configuradas do Cloud Workstations incluem um servidor SSH que é executado na porta da estação de trabalho22
.LOCAL_PORT
(opcional): a porta localhost de onde o tráfego será enviado. Os números de porta válidos são de1024
para65535
. Se você omitir a sinalização--local-host-port
ou especificar uma porta0
, uma porta não utilizada será selecionada automaticamente.WORKSTATION_NAME
: o nome da estação de trabalho.
Opcional: para transmitir flags e posicionais para a implementação de ssh
, anexe-os ao comando após um traço duplo (--
).
Use um túnel TCP para encaminhar tráfego TCP arbitrário para sua estação de trabalho
Para se conectar a uma estação de trabalho usando um aplicativo TCP diferente de ssh
, use o
comando
gcloud workstations start-tcp-tunnel
:
Execute o seguinte comando
gcloud
da CLI para criar um túnel TCP autenticado.Para copiar o comando no buffer de copiar e colar, clique em
Copiar amostra de código e cole o comando em uma janela 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
Substitua os seguintes valores:
PROJECT_ID
: o ID do projeto do Google Cloud para o projeto que contém a estação de trabalho. Se omitido, o projeto atual será usado.REGION
: a região em que o cluster da estação de trabalho está localizado, por exemplo,us-central1
.CLUSTER_NAME
: o nome do cluster da estação de trabalho que a contém.CONFIG_NAME
: o nome da configuração da estação de trabalho que contém as estações de trabalho.LOCAL_PORT
(opcional): a porta localhost de onde o tráfego será enviado. Os números de porta válidos são de1024
para65535
. Se você omitir a sinalização--local-host-port
ou especificar uma porta de0
, uma porta não utilizada será selecionada automaticamente.WORKSTATION_NAME
: o nome da estação de trabalho.WORKSTATION_PORT
: a porta da estação de trabalho para onde o tráfego será enviado. As imagens pré-configuradas do Cloud Workstations incluem um servidor SSH que é executado na porta da estação de trabalho22
.
O comando
gcloud
da CLI executa um teste de conectividade com a estação de trabalho, abre um túnel e exibe um número de porta:Listening on port [LOCAL_PORT].
Todo o tráfego enviado para
localhost:LOCAL_PORT
é encaminhado para a estação de trabalho. A porta é acessível apenas por aplicativos em execução no seu computador local.Deixe a CLI
gcloud
em execução e abra outro terminal para executar o aplicativo que se conecta à estação de trabalho.Por exemplo, se você estiver executando um servidor na estação de trabalho que exibe a porta WORKSTATION_PORT e, na etapa anterior, tiver criado um túnel TCP que encaminha o tráfego entre a porta local LOCAL_PORT e a porta da estação de trabalho WORKSTATION_PORT, execute
curl
na máquina local para se conectar ao servidor na estação de trabalho:curl localhost:LOCAL_PORT Hello, world!
Quando terminar, retorne ao terminal em que você iniciou o túnel TCP e interrompa a CLI
gcloud
pressionando Control + C.
Usar servidores SSH em portas diferentes
Imagens de contêiner personalizadas também podem usar servidores SSH em qualquer porta. Para oferecer suporte a conexões do
túnel da CLI gcloud
, configure servidores SSH personalizados para permitir
a autenticação por senha e definir o usuário de destino com uma senha vazia.
O Cloud Workstations usa o
Cloud IAM
para garantir que apenas o tráfego autorizado seja enviado ao servidor SSH.
A seguir
- Definir variáveis de ambiente de contêiner em sessões SSH para imagens de contêiner personalizadas
- Ativar o encaminhamento X11 para imagens de contêiner personalizadas