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 externo 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 Cloud de Confiance by S3NS serviços e APIs do. Para executar
código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com um destes métodos:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o Cloud de Confiance console para acessar Cloud de Confiance by S3NS serviços e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- 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 Cloud de Confiance console do, acesse a página Instâncias de VM.
- Na lista de instâncias de máquina virtual, clique em SSH na linha de instância a que você quer se conectar.
gcloud
Faça o encapsulamento de conexões SSH pelo endereço IP interno de uma VM usando o
gcloud compute ssh comando com a
--tunnel-through-iap sinalização:
Conecte-se à VM executando o seguinte comando:
gcloud compute ssh VM-NAME \ --tunnel-through-iap
No Cloud de Confiance console do, ative o Cloud Shell.
Na parte de baixo do Cloud de Confiance console do, uma Cloud Shell sessão é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI 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 Connect para se conectar à VM.
Clientes OpenSSH
Conecte-se a uma VM que não tem um endereço IP externo usando SSH por um túnel IAP. É possível gravar seu próprio arquivo de configuração SSH (~/.ssh/config) para que ferramentas como o VS Code ou o cliente OpenSSH possam se conectar sem problemas.
Gere e propague suas chaves SSH conectando-se à VM pelo menos uma vez executando o
gcloud compute sshcomando:gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME --tunnel-through-iap
Verifique se a conexão foi estabelecida e saia.
Abra ou crie o arquivo de configuração SSH na estação de trabalho local. Esse arquivo normalmente está localizado em
~/.ssh/configno Linux e macOS ou%USERPROFILE%\.ssh\configno Windows.Anexe uma entrada de configuração para sua VM adicionando o bloco a seguir ao arquivo de configuração SSH:
Host VM_NAME HostName VM_NAME IdentityFile PATH_TO_PRIVATE_KEY ProxyCommand gcloud compute start-iap-tunnel %h %p --listen-on-stdin --project=PROJECT_ID --zone=ZONE --verbosity=warning User USERNAMESubstitua:
VM_NAME: o nome da VM a que você quer se conectar.PATH_TO_PRIVATE_KEY: o caminho para o arquivo de chave privada, normalmente~/.ssh/google_compute_engine.PROJECT_ID: o ID do projeto que contém a VM.ZONE: a zona em que a VM está localizada.USERNAME: o nome de usuário na VM (por exemplo, o nome de usuário do Login do SO do Google Cloud ou o nome de usuário de metadados).
Conecte-se à VM no terminal local ou no cliente SSH executando o seguinte comando:
ssh VM_NAME
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 Cloud de Confiance console do, 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: o nome de usuário será aquele que você especificou quando criou a chave SSH.-
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 transferir arquivos para VMs.
- Saiba como as conexões SSH com VMs do Linux funcionam no Compute Engine