Esta página descreve como usar a CLI gcloud
para estabelecer ligação à sua estação de trabalho a partir de uma máquina local através do SSH (ou de qualquer outro protocolo TCP).
As Cloud Workstations usam um túnel para encaminhar o tráfego TCP entre uma porta na sua máquina local e uma porta na sua estação de trabalho sem expor abertamente a estação de trabalho à Internet. As ligações são autenticadas através de credenciais da CLI gcloud
e autorizadas de acordo com as políticas de IAM da estação de trabalho de destino.
Assim que o túnel TCP for estabelecido entre a porta local e a estação de trabalho, pode usá-lo para encaminhar tráfego de um cliente SSH, curl ou qualquer outra aplicação que use TCP.
Para sua 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 da CLI gcloud
.
Para todos os outros exemplos de utilização, use o comando
gcloud workstations start-tcp-tunnel
para estabelecer o túnel TCP e execute a aplicação que vai usar o
túnel (por exemplo, curl
) num terminal separado.
Antes de começar
Se ainda não tiver uma estação de trabalho à qual se ligar, configure uma estação de trabalho.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI com a sua identidade federada.
gcloud
Certifique-se de que tem a função do IAM Utilizador do Cloud Workstations na estação de trabalho à qual se vai ligar.
PROJECT_ID
: o Google Cloud ID do projeto do projeto que contém a estação de trabalho. Se for omitido, é usado o projeto atual.REGION
: a região onde 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 estas estações de trabalho.WORKSTATION_PORT
(Opcional): a porta na estação de trabalho para a qual o tráfego deve ser enviado. Se for omitido, o tráfego é enviado para a porta22
. Todas as imagens de estações de trabalho na nuvem pré-configuradas incluem um servidor SSH que é executado na porta22
da estação de trabalho.LOCAL_PORT
(Opcional): a porta de anfitrião local a partir da qual o tráfego vai ser enviado. Os números de porta válidos são de1024
a65535
. Se omitir a flag--local-host-port
ou especificar uma porta de0
, é selecionada automaticamente uma porta não usada.WORKSTATION_NAME
: o nome da estação de trabalho.Execute o seguinte
gcloud
comando da CLI para criar um túnel TCP autenticado.Para copiar o comando para a área de transferência, clique em
Copiar exemplo de código e, em seguida, cole o comando numa 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 Google Cloud ID do projeto do projeto que contém a estação de trabalho. Se for omitido, é usado o projeto atual.REGION
: a região onde 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 estas estações de trabalho.LOCAL_PORT
(Opcional): a porta de anfitrião local a partir da qual o tráfego vai ser enviado. Os números de porta válidos são de1024
a65535
. Se omitir a flag--local-host-port
ou especificar uma porta de0
, é selecionada automaticamente uma porta não usada.WORKSTATION_NAME
: o nome da estação de trabalho.WORKSTATION_PORT
: a porta da estação de trabalho para a qual o tráfego deve ser enviado. As imagens de estações de trabalho na nuvem pré-configuradas incluem um servidor SSH que é executado na porta22
da estação de trabalho.
O comando da CLI
gcloud
executa um teste de conetividade com a estação de trabalho, abre um túnel e, em seguida, apresenta 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 só está acessível a aplicações em execução no seu computador local.Deixe a CLI do
gcloud
em execução e abra outro terminal para executar a aplicação que se liga à sua estação de trabalho.Por exemplo, se estiver a executar um servidor na sua estação de trabalho que publica a porta WORKSTATION_PORT e, no passo anterior, tiver criado um túnel TCP que encaminha o tráfego entre a sua porta local LOCAL_PORT e a porta da estação de trabalho WORKSTATION_PORT, pode executar
curl
na sua máquina local para se ligar ao servidor na sua estação de trabalho:curl localhost:LOCAL_PORT Hello, world!
Quando terminar, regresse ao terminal onde iniciou o túnel TCP e interrompa a CLI
gcloud
premindo Control+C.- Defina variáveis de ambiente do contentor em sessões SSH para imagens de contentores personalizadas
- Ative o encaminhamento X11 para imagens de contentores personalizadas
Ligue-se à sua estação de trabalho através de SSH
Para estabelecer uma ligação SSH segura à sua 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 para a área de transferência, clique em
Copiar exemplo de código e, em seguida, cole o comando numa 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:
Opcional: para transmitir flags e posicionais à implementação ssh
subjacente, anexe-os ao comando após um duplo traço (--
).
Use um túnel TCP para encaminhar tráfego TCP arbitrário para a sua estação de trabalho
Para estabelecer ligação a uma estação de trabalho através de uma aplicação TCP que não seja o ssh
, use o comando
gcloud workstations start-tcp-tunnel
:
Use servidores SSH em portas diferentes
As imagens de contentores personalizadas
também podem usar servidores SSH em qualquer porta. Para suportar ligações a partir do túnel da CLI gcloud
, tem de configurar servidores SSH personalizados para permitir a autenticação por palavra-passe e definir o utilizador de destino com uma palavra-passe vazia.
O Cloud Workstations usa o
Cloud IAM
para ajudar a garantir que apenas o tráfego autorizado é enviado para o servidor SSH.