Neste documento, descrevemos como se conectar a uma instância de máquina virtual (VM) usando o endereço IP interno dela usando o encaminhamento de TCP do Identity-Aware Proxy (IAP).
O encaminhamento de TCP do IAP permite que você estabeleça um túnel criptografado para encaminhar conexões SSH para VMs. Quando você se conecta a uma VM que usa o IAP, o IAP encapsula a conexão SSH no HTTPS antes de encaminhar a conexão à VM. Em seguida, o IAP verifica se você tem as permissões necessárias do IAM e, se tiver, concede acesso à VM.
Se você precisar se conectar a uma VM que não tenha endereços IP externos e não puder usar o IAP, analise os outros métodos listados em Opções de conexão para VMs somente internas.
Antes de começar
- Crie uma regra de firewall para ativar as conexões do IAP.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
- Defina uma região e uma zona padrão.
Sistemas operacionais compatíveis
Esses métodos de conexão são compatíveis com todas as imagens públicas do Linux disponíveis no Compute Engine. Para imagens do Fedora CoreOS, é necessário configurar o acesso SSH antes de usar esses métodos.
Conectar-se às VMs
Para se conectar a uma VM, conclua as etapas em uma das guias a seguir.
Console
Para encapsular conexões SSH pelo endereço IP interno de uma VM usando o SSH no navegador, faça o seguinte:
- No console do Google Cloud , acesse a página Instâncias de VM.
- Na lista de instâncias de máquina virtual, clique em SSH na linha da instância à qual você quer se conectar.
gcloud
Faça o encapsulamento de conexões SSH pelo endereço IP interno de uma VM usando o
comando gcloud compute ssh com a
sinalização --tunnel-through-iap:
Conecte-se à VM executando o seguinte comando:
gcloud compute ssh VM-NAME \ --tunnel-through-iap
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Substitua VM_NAME pelo nome da VM a que você quer se conectar.
IAP Desktop
Para se conectar a uma VM usando o IAP Desktop, faça o seguinte:
-
Instale o IAP Desktop na sua estação de trabalho, se ainda não tiver feito isso.
-
Abra o IAP Desktop. A janela Adicionar projetos será aberta.
-
Quando solicitado, faça login usando a Conta do Google que tem acesso ao projeto com as VMs a que você quer se conectar.
-
Na janela Adicionar projetos, insira o ID ou o nome do projeto que contém as VMs a que você quer se conectar.
-
Na janela Project Explorer, clique com o botão direito do mouse no nome da VM novamente e selecione Conectar para se conectar à VM.
App PuTTY
Faça o encapsulamento de conexões SSH por meio do endereço IP interno de uma VM usando o PuTTY. Para isso, faça o seguinte:
- Adicione uma chave SSH à VM, se ainda não tiver feito isso.
- Se a estação de trabalho ainda não tiver o app PuTTY instalado, faça o download dos arquivos do pacote PuTTY.
No console do Google Cloud , acesse a página Instâncias de VM e encontre o nome da VM a que você quer se conectar.
- Abra o app PuTTY. Uma janela de configuração de conexão será aberta.
No campo
Host Name, insira o nome de usuário associado à chave SSH e o nome da VM à qual você quer se conectar. Use o seguinte formato:USERNAME@VM_NAME
Substitua:
USERNAME: seu nome de usuário. Se você gerencia suas chaves SSH em metadados, o nome de usuário será aquele que você especificou quando criou a chave SSH. Para contas do Login do SO, o nome de usuário é definido no seu perfil do Google. Por exemplo,cloudysanfrancisco_example_comoucloudysanfrancisco.-
NAME: o nome da VM.
- No menu Category, navegue até Connection > SSH > Auth.
- No campo Arquivo de chave privada para autenticação, selecione o arquivo da chave SSH privada que corresponde à chave pública adicionada à VM.
- No menu Categoria, navegue até Conexão > Proxy.
- Na seção Tipo de proxy, selecione Local.
No campo Comando Telnet ou comando proxy local, digite este comando:
gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE
Substitua:
VM_NAME: o nome da VM a que você quer se conectar.PORT_NUMBER: a porta em que o daemon sshd é executado. O padrãoPORT_NUMBERé22.PROJECT_ID: o projeto que hospeda a VM a que você quer se conectar.ZONE: é a zona em que a VM está localizada
- Clique em Abrir para se conectar à VM.
Solução de problemas
Para encontrar métodos de diagnóstico e resolução de conexões SSH com falha, consulte Solução de problemas de SSH.
A seguir
- Saiba como gerenciar o acesso às VMs.
- Saiba como transferir arquivos para VMs.
- Saiba como as conexões SSH com VMs do Linux funcionam no Compute Engine