Estabeleça ligação a VMs Linux através do Identity-Aware Proxy

Este documento descreve como estabelecer ligação a uma instância de máquina virtual (VM) através do respetivo endereço IP interno, usando o encaminhamento TCP do Identity-Aware Proxy (IAP).

O encaminhamento TCP do IAP permite-lhe estabelecer um túnel encriptado através do qual pode encaminhar ligações SSH para VMs. Quando estabelece ligação a uma VM que usa o IAP, o IAP envolve a ligação SSH em HTTPS antes de encaminhar a ligação para a VM. Em seguida, o IAP verifica se tem as autorizações de IAM necessárias e, se tiver, concede acesso à VM.

Se precisar de estabelecer ligação a uma VM que não tenha endereços IP externos e não puder usar o IAP, reveja os outros métodos indicados em Opções de ligação para VMs apenas internas.

Antes de começar

  • Crie uma regra de firewall para ativar as ligações do IAP.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init
    2. Set a default region and zone.

Sistemas operativos compatíveis

Estes métodos de ligação são suportados para todas as imagens Linux públicas disponíveis no Compute Engine. Para imagens do Fedora CoreOS, tem de configurar o acesso SSH antes de poder usar estes métodos.

Estabeleça ligação a VMs

Para estabelecer ligação a uma VM, conclua os passos num dos seguintes separadores.

Consola

Encaminhe as ligações SSH através do endereço IP interno de uma VM com o SSH no navegador fazendo o seguinte:

  1. In the Trusted 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

Encaminhe ligações SSH através do endereço IP interno de uma VM com o comando gcloud compute ssh e a flag --tunnel-through-iap:

    In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Trusted 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. Ligue-se à VM executando o seguinte comando:

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. Substitua VM_NAME pelo nome da VM à qual quer estabelecer ligação.

    IAP Desktop

    Para estabelecer ligação a uma VM através do IAP Desktop, faça o seguinte:

    1. Instale o IAP Desktop na sua estação de trabalho, se ainda não o tiver feito.

    2. Abra o IAP Desktop. É apresentada a janela Adicionar projetos.

    3. Quando lhe for pedido, inicie sessão com a Conta Google que tem acesso ao projeto com as VMs às quais quer estabelecer ligação.

    4. Na janela Adicionar projetos, introduza o ID do projeto ou o nome do projeto que contém as VMs às quais quer estabelecer ligação.

    5. Na janela Project Explorer, clique novamente com o botão direito do rato no nome da VM e selecione Connect para estabelecer ligação à VM.

    App PuTTY

    Encaminhe as ligações SSH através do endereço IP interno de uma VM com o PuTTY, fazendo o seguinte:

    1. Adicione uma chave SSH à VM se ainda não o tiver feito.
    2. Se a sua estação de trabalho ainda não tiver a app PuTTY instalada, transfira os ficheiros do pacote PuTTY.
    3. Na Trusted Cloud consola, aceda à página Instâncias de VM e encontre o nome da VM à qual quer estabelecer ligação.

      Aceder a Instâncias de VM

    4. Abra a app PuTTY. É aberta uma janela de configuração da ligação.
    5. No campo Host Name, introduza o nome de utilizador associado à chave SSH e o nome da VM à qual quer estabelecer ligação. Use o seguinte formato:

      USERNAME@VM_NAME

      Substitua o seguinte:

      • USERNAME: o nome de utilizador é o que especificou quando criou a chave SSH.
      • NAME: o nome da VM.
    6. No menu Category (Categoria), navegue para Connection > SSH > Auth (Ligação > SSH > Autenticação).
    7. No campo Private key file for authentication (Ficheiro de chave privada para autenticação), selecione o ficheiro de chave SSH privada que corresponde à chave pública que adicionou à VM.
    8. No menu Categoria, navegue para Ligação > Proxy.
    9. Na secção Tipo de proxy, selecione Local.
    10. No campo Comando Telnet ou comando de proxy local, introduza 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 quer estabelecer ligação.
      • PORT_NUMBER: a porta na qual o daemon sshd é executado. O valor predefinido PORT_NUMBER é 22.
      • PROJECT_ID: o projeto que aloja a VM à qual quer estabelecer ligação.
      • ZONE: a zona onde a VM está localizada.
    11. Clique em Abrir para estabelecer ligação à VM.

Resolução de problemas

Para encontrar métodos de diagnóstico e resolução de problemas de ligações SSH com falhas, consulte o artigo Resolução de problemas de SSH.

O que se segue?