Esta página descreve como usar a CLI gcloud
para se conectar à sua
estação de trabalho em 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 sua
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
da CLI gcloud
e autorizadas de acordo com a
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, ele poderá ser usado para encaminhar o tráfego de um cliente SSH, curl ou qualquer outro aplicativo que use TCP.
Por conveniência, o Cloud Workstations oferece a
gcloud workstations ssh
, que estabelece o túnel TCP e executa um cliente SSH com uma
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 vai 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Certifique-se de que você Usuário do Cloud Workstations papel do IAM 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
Copie o exemplo 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 de estações de trabalho que contêm a estação de trabalho.CONFIG_NAME
: o nome da configuração da estação de trabalho que contém essas estações.WORKSTATION_PORT
(opcional): a porta na estação de trabalho para a qual o tráfego precisa ser enviado. Se omitido, o tráfego será enviado à porta22
: Todas as imagens pré-configuradas do Cloud Workstations incluem um servidor SSH que é executado na porta22
da estação 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
a65535
. Se você omitir a sinalização--local-host-port
ou especificar uma porta de0
uma porta não utilizada selecionadas automaticamente.WORKSTATION_NAME
: o nome da estação de trabalho.
Opcional: para transmitir flags e posições à implementação
ssh
, anexe-as ao comando após um traço duplo (--
).
Use um túnel TCP para encaminhar tráfego TCP arbitrário para a estação de trabalho
Para se conectar a uma estação de trabalho usando um aplicativo TCP diferente de ssh
, use o
gcloud workstations start-tcp-tunnel
comando:
Execute o seguinte comando da CLI
gcloud
para criar um túnel TCP autenticado.Para copiar o comando para o buffer de cópia e colagem, clique em
Copiar exemplo 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 de estações de trabalho que contêm a estação de trabalho.CONFIG_NAME
: o nome da configuração da estação de trabalho que contém essas estações.LOCAL_PORT
(opcional): a porta do localhost de onde o tráfego será enviado. Os números de porta válidos são de1024
a65535
. Se você omitir a flag--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 a qual o tráfego precisa ser enviado. Imagens pré-configuradas do Cloud Workstations incluir 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 na 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ê executar um servidor em sua estação de trabalho que sirva porta WORKSTATION_PORT e, na etapa anterior, criou 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, você pode executar
curl
no seu computador máquina para se conectar ao servidor em sua estação de trabalho:curl localhost:LOCAL_PORT Hello, world!
Quando terminar, volte ao terminal em que você iniciou o TCP e interrompa a CLI
gcloud
pressionando Control+C.
Usar servidores SSH em portas diferentes
As imagens de contêiner personalizadas
também podem usar servidores SSH em qualquer porta. Para oferecer suporte a conexões pela
túnel da CLI gcloud
, é preciso configurar servidores SSH personalizados para permitir
autenticação por senha e defina 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 do contêiner em sessões SSH para imagens de contêiner personalizadas
- Ativar o encaminhamento X11 para imagens de contêiner personalizadas