Conectar-se a VMs Linux usando o Identity-Aware Proxy


Este documento descreve como se conectar a uma instância de máquina virtual (VM) por meio de seu endereço IP interno, usando o encaminhamento TCP do Identity-Aware Proxy (IAP) .

O encaminhamento IAP TCP permite estabelecer um túnel criptografado através do qual você pode encaminhar conexões SSH para VMs. Quando você se conecta a uma VM que usa IAP, o IAP encapsula a conexão SSH dentro de HTTPS antes de encaminhar a conexão para a VM. Em seguida, o IAP verifica se você tem as permissões de IAM necessárias 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, revise 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 permitir conexões do IAP.
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.

Sistemas operacionais suportados

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, você deve configurar o acesso SSH antes de poder usar esses métodos.

Conectar-se a VMs

Para se conectar a uma VM, conclua as etapas em uma das guias a seguir.

Console

Faça um túnel de conexões SSH por meio do endereço IP interno de uma VM usando SSH-in-Browser fazendo o seguinte:

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

gcloud

Faça um túnel de conexões SSH por meio do endereço IP interno de uma VM usando o comando gcloud compute ssh com a sinalização --tunnel-through-iap :

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  1. Conecte-se à VM executando o seguinte comando:

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. Substitua VM_NAME pelo nome da VM à qual você deseja se conectar.

Área de trabalho IAP

Para se conectar a uma VM usando o IAP Desktop, faça o seguinte:

  1. Instale o IAP Desktop em sua estação de trabalho, caso ainda não o tenha feito.

  2. Abra o IAP Desktop. A janela Adicionar projetos é aberta.

  3. Quando solicitado, faça login usando a conta do Google que tem acesso ao projeto com as VMs às quais você deseja se conectar.

  4. Na janela Adicionar projetos , insira o ID do projeto ou o nome do projeto que contém as VMs às quais você deseja se conectar.

  5. Na janela Project Explorer , clique com o botão direito no nome da VM novamente e selecione Conectar para conectar-se à VM.

Aplicativo PuTTY

Faça um túnel de conexões SSH por meio do endereço IP interno de uma VM usando PuTTY, fazendo o seguinte:

  1. Adicione uma chave SSH à VM, caso ainda não o tenha feito.
  2. Se sua estação de trabalho ainda não tiver o aplicativo PuTTY instalado, baixe os arquivos do pacote PuTTY .
  3. No console do Google Cloud, acesse a página Instâncias de VM e encontre o nome da VM à qual você deseja se conectar.

    Vá para instâncias de VM

  4. Abra o aplicativo PuTTY. Uma janela de configuração de conexão é aberta.
  5. No campo Host Name , insira o nome de usuário associado à chave SSH e o nome da VM à qual você deseja se conectar. Use o seguinte formato:

    USERNAME@VM_NAME

    Substitua o seguinte:

    • USERNAME : seu nome de usuário. Se você gerencia suas chaves SSH em metadados, o nome de usuário é o que você especificou quando criou a chave SSH . Para contas de login do sistema operacional, o nome de usuário é definido no seu perfil do Google . Por exemplo, cloudysanfrancisco_example_com ou cloudysanfrancisco .
    • NAME : o nome da VM.
  6. No menu Categoria , navegue até Connection > SSH > Auth .
  7. No campo Arquivo de chave privada para autenticação , selecione o arquivo de chave SSH privada que corresponde à chave pública que você adicionou à VM.
  8. No menu Categoria , navegue até Conexão > Proxy .
  9. Na seção Tipo de proxy , selecione Local .
  10. No campo Comando Telnet ou comando de proxy local , insira o seguinte comando:

    gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE

    Substitua o seguinte:

    • VM_NAME : o nome da VM à qual você deseja se conectar.
    • PORT_NUMBER : a porta em que o daemon sshd é executado. O PORT_NUMBER padrão é 22 .
    • PROJECT_ID : o projeto que hospeda a VM à qual você deseja se conectar.
    • ZONE : a zona onde a VM está localizada.
  11. Clique em Abrir para se conectar à VM.

Solução de problemas

Para encontrar métodos para diagnosticar e resolver conexões SSH com falha, consulte Solução de problemas de SSH .

O que vem a seguir