Conectar-se a instâncias

Nesta página, descrevemos algumas maneiras básicas de se conectar às instâncias do Linux e do Windows em execução no Compute Engine.

Como se conectar a instâncias do Linux

Antes de se conectar, analise as seguintes observações:

  • A instância de VM permite acesso SSH. Por padrão, o Compute Engine cria regras de firewall que permitem conexões TCP por meio da porta 22, mas é possível verificar se essas regras existem acessando a página Regras de firewall no Console do Google Cloud e procurando regras de firewall que permitam conexões tcp:22.

  • Se quiser, como uma camada adicional de segurança, é possível armazenar suas chaves de host como atributos de convidado nas instâncias do Linux. Para mais informações, consulte Como armazenar chaves de host.

Para outras maneiras de se conectar a instâncias, acesse os seguintes links:

Para se conectar a instâncias do Linux por meio do Console do Google Cloud ou da ferramenta de linha de comando gcloud no SDK, conclua as etapas em uma das seguintes guias.

Se essas opções básicas de SSH não funcionarem para você, talvez seja necessário conectar-se a instâncias usando ferramentas de terceiros ou a instâncias que não têm endereços IP externos.

Console

  1. No Console do Cloud, acesse a página Instâncias de VM.

    Acessar a página Instâncias de VM

  2. Na lista de instâncias de máquina virtual, clique em SSH na linha da instância à qual você quer se conectar.

    Botão

gcloud

Use o comando gcloud compute ssh para se conectar a instâncias às quais você tem permissão de acesso.

gcloud compute ssh --project PROJECT_ID --zone ZONE VM_NAME

Substitua:

  • PROJECT_ID: o ID do projeto que contém a instância.
  • ZONE: o nome da zona em que a instância está localizada.
  • VM_NAME: o nome da instância.

Se você definiu propriedades padrão para a ferramenta de linha de comando gcloud, poderá omitir as sinalizações --project e --zone desse comando. Por exemplo:

gcloud compute ssh VM_NAME

Depois de estabelecer conexão, use o terminal para executar comandos na instância do Linux. Ao terminar, desconecte-se da instância usando o comando exit.

Onde as chaves SSH estão armazenadas

Quando você se conecta a uma instância de VM pela primeira vez, o Compute Engine gera um par de chaves SSH para você e as armazena em um dos seguintes locais:

  • Por padrão, o Compute Engine adiciona a chave gerada aos metadados do projeto ou da instância.
  • Se a conta estiver configurada para usar o Login do SO, o Compute Engine armazenará a chave gerada com a conta de usuário.

Não é necessário saber onde suas chaves SSH estão armazenadas, se estiver conectado das maneiras descritas neste documento. Porém, talvez seja necessário saber onde suas chaves SSH estão armazenadas, se quiser se conectar usando os métodos alternativos ou avançados descritos em Como se conectar a instâncias que usam métodos avançados.

Como armazenar chaves de host

Uma chave de host é um par de chaves que identifica um host ou máquina específicos. Quando você se conecta a um host remoto, a chave do host é usada para verificar se você está se conectando à máquina pretendida.

Se você estiver usando gcloud compute ssh para se conectar às instâncias do Linux, adicione uma camada de segurança armazenando suas chaves de host como atributos de convidado.

O armazenamento de chaves de host SSH como atributos de convidado melhora a segurança de suas conexões, visto que ajuda a proteger contra vulnerabilidades, como ataques do tipo "man-in-the-middle" (MITM). Na primeira inicialização de uma instância de VM, se os atributos de convidado estiverem ativados, o Compute Engine armazenará suas chaves de host geradas como atributos de convidado. O Compute Engine usará essas chaves de host que foram armazenadas durante a primeira inicialização para verificar todas as conexões subsequentes à instância de VM.

Sistemas operacionais compatíveis

As chaves de host podem ser armazenadas como atributos de convidado nos sistemas operacionais a seguir:

  • Debian
  • Ubuntu
  • Red Hat Enterprise Linux (RHEL)
  • CentOS
  • SUSE Linux Enterprise Server (SLES)

Para gravar as chaves de host em atributos de convidado, é necessário ativar os atributos de convidado antes de inicializar a instância de VM pela primeira vez.

Para armazenar chaves de host como atributos de convidado, execute as seguintes etapas:

  1. Antes de inicializar sua instância de VM pela primeira vez, ative os atributos de convidado. É possível ativar atributos de convidado em algumas instâncias de VM durante a criação da instância ou em todo o projeto. Para ativar os atributos de convidado, consulte Como ativar atributos de convidado na instância.
  2. Conecte-se à instância usando gcloud compute ssh.

    1. Verifique se você tem a versão mais recente da ferramenta de linha de comando gcloud.

      gcloud components update
      
    2. Conecte-se à instância.

      gcloud compute ssh --project PROJECT_ID --zone ZONE VM_NAME
      

      Substitua:

      • PROJECT_ID: o ID do projeto que contém a instância.
      • ZONE: o nome da zona em que a instância está localizada.
      • VM_NAME: o nome da instância.

      Se você definiu propriedades padrão para a ferramenta de linha de comando gcloud, poderá omitir as sinalizações --project e --zone desse comando. Por exemplo:

      gcloud compute ssh VM_NAME
      
    3. Analise a mensagem de inicialização. Por exemplo, um sistema operacional Debian pode exibir a seguinte mensagem:

      Writing 3 keys to YOUR_HOME_DIRECTORY/.ssh/google_compute_known_hosts
      Linux host-key-2 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64
  3. Confirme que as chaves de host estão armazenadas.

Como confirmar que as chaves de host estão armazenadas como atributos de convidado

Para confirmar que as chaves de host estão armazenadas como atributos de convidado, analise os valores de porta serial ou chave de host da instância.

Opção 1: como avaliar a porta serial

  1. Acesse a saída da porta serial, consulte Como visualizar a saída da porta serial.
  2. Selecione a porta serial 1.
  3. Procure a seguinte mensagem:

    INFO Wrote ssh-rsa host key to guest attributes
    

    Se sua imagem usa um sistema operacional compatível, mas os atributos de convidado não foram ativados antes da primeira inicialização da VM, talvez apareça a seguinte mensagem:

    Unable to write ssh-rsa host key to guest attributes
    

    Isso significa que as chaves de host não estão armazenadas como atributos de convidado para esta instância. Para armazenar chaves de host para outras instâncias que você planeja criar, certifique-se de ativar os atributos de convidado antes da primeira inicialização da instância.

Opção 2: como avaliar os valores de chave de host

É possível usar a ferramenta de linha de comando gcloud para verificar se as chaves ssh estão gravadas nos atributos de convidado.

 gcloud compute instances get-guest-attributes VM_NAME --query-path "hostkeys/" --zone ZONE

Substitua:

  • VM_NAME: o nome da instância.
  • ZONE: o nome da zona em que a instância está localizada.

A saída será assim:

NAMESPACE  KEY                  VALUE
hostkeys   ecdsa-sha2-nistp256  AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBJAGpTm
                                V3mFxBTHK1NIu9a7kVQWaHsZVaFUsqF8cLxQRQ+N96/Djiiuz1tucHQ8vBTJI=
hostkeys   ssh-ed25519          AAAAC3NzaC1lZDI1NTE5AAAAIM/WYBn3jIEW5t3BZumx0X/Htm61J6S9FcU8L
hostkeys   ssh-rsa              AAAAB3NzaC1yc2EAAAADAQABAAABAQDU3jReR/MoSttlWYfauW6qEqS2dhe5
                                Zdd3guYk2H7ZyxblNuP56nOl/IMuniVmsFa9v8W6MExViu6G5Cy4iIesot09
                                1hsgkG0U7sbWrXM10PQ8pnpI3B5arplCiEMhRtXy64rlW3Nx156bLdcxv5l+
                                7Unu4IviKlY43uqqwSyTv+V8q4ThpQ9dNbk1Gg838+KzazljzHahtbIaE1rm
                                I0L1lUqKiKLSLKuBgrI2Y/WSuqvqGEz+bMH7Ri4ht+7sAwykph6FbOgKqoBI
                                hVWBo38/Na/gEuvtmgULUwK+xy9zWg9k8k/Qtihc6El9GD9y

Como se conectar a instâncias do Windows

O Compute Engine é compatível com várias maneiras de se conectar às instâncias do Windows.

Área de trabalho remota

A melhor maneira de se conectar à área de trabalho remota de uma instância do Windows depende de vários fatores:

  • Se a instância de VM tiver um endereço IP público e as regras de firewall permitirem o acesso RDP, use o Chrome RDP para o plug-in do navegador do Google Cloud ou qualquer cliente RDP nativo, como o app "Conexão de área de trabalho remota" da Microsoft.
  • Se a instância de VM não tiver um IP público e você estiver se conectando usando o Cloud VPN ou o Cloud Interconnect, será possível se conectar ao endereço IP particular da VM usando um cliente RDP nativo, como o app "Conexão de área de trabalho remota" da Microsoft.
  • Se você estiver se conectando de qualquer lugar, é melhor ativar o encaminhamento de TCP do Identity-Aware Proxy para o projeto. Em seguida, use o IAP Desktop (no Windows) ou o gcloud em conjunto com um cliente RDP nativo para se conectar à instância do Windows.
  • Se não for possível usar o encaminhamento de TCP do Identity-Aware Proxy, use a Área de trabalho remota do Google Chrome (em inglês).

Como se conectar às instâncias do Windows

IAP Desktop

O IAP Desktop (em inglês) é um aplicativo do Windows que permite gerenciar várias conexões da Área de trabalho remota às instâncias de VM do Windows. O IAP Desktop se conecta às instâncias de VM usando o encaminhamento de TCP do Identity-Aware Proxy e não exige que as instâncias de VM tenham um endereço IP público.

Antes de se conectar usando o IAP Desktop, verifique se os seguintes pré-requisitos foram atendidos:

Para se conectar a uma instância de VM usando o IAP Desktop, faça isto:

  1. No IAP Desktop, selecione Arquivo > Adicionar projeto do Google Cloud.

  2. Digite o ID ou o nome do projeto e clique em OK.

  3. Na janela Project Explorer, clique com o botão direito do mouse na instância de VM à qual você quer se conectar e selecione Conectar.

IAP Desktop.

Para mais informações sobre o IAP Desktop, consulte a página do projeto no GitHub (em inglês).

App Conexão de área de trabalho remota

É possível usar o app "Conexão de área de trabalho remota" da Microsoft, que faz parte do Windows, para se conectar às instâncias do Windows.

Antes de se conectar usando esse aplicativo, verifique se um dos pré-requisitos a seguir foi atendido:

  • sua instância de VM tem um endereço IP público e suas regras de firewall permitem o tráfego TCP de entrada proveniente do endereço IP público de seu cliente para a instância usando a porta 3389;
  • A rede local está conectada à VPC usando uma VPN ou o Cloud Interconnect, e as regras de firewall permitem o tráfego de entrada TCP do endereço IP particular do cliente para a instância usando a porta 3389.

Para estabelecer uma conexão com a Área de Trabalho Remota do Microsoft Windows, faça o seguinte:

  1. Crie uma conta e senha do Windows, se ainda não tiver.

  2. No Console do Google Cloud, identifique o endereço IP da instância do Windows na página Instâncias de VM.

    Acessar instâncias de VM

    Como alternativa, encontre o endereço IP executando o comando gcloud instances list na ferramenta de linha de comando gcloud:

    gcloud compute instances list
    
    • Para se conectar pela Internet, use o endereço IP externo.
    • Para se conectar usando a VPN ou o Cloud Interconnect, use o endereço IP interno.
  1. Abra o Remote Desktop Connection da Microsoft na sua máquina Windows. A janela de conexão mstsc. {:class="screenshot"} Observação: o executável pode estar localizado em %systemroot%\system32\mstsc.exe
    1. Insira o endereço IP no campo Computador. Clique em Conectar.

    2. Insira seu nome de usuário e senha. Em seguida, clique em OK para se conectar.

Área de trabalho remota do Google Chrome

A Área de trabalho remota do Google Chrome é um serviço que permite acessar remotamente outro computador usando um navegador da Web. A Área de trabalho remota do Google Chrome funciona no Windows, macOS e Linux e não exige que a instância de VM tenha um endereço IP público.

Antes de se conectar usando esse serviço, verifique se estes pré-requisitos foram atendidos:

Para se conectar a uma instância de VM usando a Área de trabalho remota do Google Chrome, faça o seguinte:

  1. No seu computador local, acesse o site Área de trabalho remota do Google Chrome (em inglês).

  2. Se você ainda não estiver conectado ao Google, faça login com a mesma Conta do Google usada para configurar o serviço Área de trabalho remota do Google Chrome.

  3. Selecione a instância à qual você quer se conectar.

  4. Quando solicitado, insira o PIN que você criou ao instalar o serviço Área de trabalho remota do Google Chrome e clique no botão de seta () para se conectar.

Plug-in Chrome RDP

O Chrome RDP para Google Cloud é um plug-in terceirizado que possibilita a conexão com instâncias do Windows usando o navegador Chrome. O plug-in é integrado ao Console do Google Cloud. Depois de instalar o plug-in, conecte-se a qualquer instância do Windows Server usando o botão RDP no Console do Cloud.

Antes de se conectar usando o Chrome RDP para Google Cloud, verifique se os seguintes pré-requisitos foram atendidos:

Para se conectar usando o plug-in Chrome RDP, faça o seguinte:

  1. No Console do Cloud, acesse a página Instâncias de VM e encontre a instância do Windows à qual você quer se conectar.

    Acessar instâncias de VM

  2. Clique no botão RDP referente à instância a que você quer se conectar. A extensão Chrome RDP será aberta.

  3. Insira o domínio, o nome de usuário e a senha e clique em OK para se conectar.

    Janela de criação da instância com as opções necessárias definidas.

    Se a instância não tiver um domínio configurado, deixe o campo Domínio em branco.

  4. Se solicitado, pressione Continuar para aceitar o certificado.

Outro

É possível se conectar às instâncias de VM do Windows usando outros clientes RDP, como clientes desenvolvidos para Android, iOS, Mac, entre outros.

Antes de se conectar, verifique se um dos seguintes pré-requisitos é atendido:

  • sua instância de VM tem um endereço IP público e suas regras de firewall permitem o tráfego TCP de entrada proveniente do endereço IP público de seu cliente para a instância usando a porta 3389;
  • A rede local está conectada à VPC usando uma VPN ou o Cloud Interconnect, e as regras de firewall permitem o tráfego de entrada TCP do endereço IP particular do cliente para a instância usando a porta 3389.

Para se conectar usando outros clientes RDP, faça o seguinte:

  1. Identifique o endereço IP da instância do Windows na página "Instâncias de VM".

    • Para se conectar pela Internet, use o endereço IP externo.
    • Para se conectar usando a VPN ou o Cloud Interconnect, use o endereço IP interno.

    Acessar a página "Instâncias de VM"

    Como alternativa, encontre o endereço IP executando o comando gcloud instances list na ferramenta de linha de comando gcloud:

    gcloud compute instances list
    
  2. Instale o cliente compatível de acordo com as instruções fornecidas.

  3. Conecte-se usando o endereço IP da sua instância e faça a autenticação com seu nome de usuário e senha para a instância.

Para uma lista de clientes oficialmente aceitos, consulte o artigo da Microsoft Clientes de área de trabalho remota.

Se você tiver dificuldade para se conectar usando o RDP, consulte a página Solução de problemas do RDP.

Console de administração especial

Nesta seção, descrevemos como usar o console serial interativo para se conectar ao Console de Administração Especial (SAC, na sigla em inglês) da sua instância do Windows. É possível usar o SAC para resolver problemas de uma instância do Windows, caso você não consiga se conectar a ela usando a Área de trabalho remota.

Antes de se conectar, certifique-se de criar uma senha de instância do Windows e tê-la pronta para uso.

Para se conectar à instância do Windows usando um console serial interativo, conclua as etapas em uma das seguintes guias.

Console

Para se conectar à instância do Windows usando um console serial interativo por meio do Console do Cloud, faça o seguinte:

  1. No Console do Cloud, acesse a página Instâncias de VM e clique no nome da instância. A página de detalhes da instância de VM será aberta.

    Acessar instâncias de VM

  2. Clique em Edit. Em Acesso remoto, selecione Ativar a conexão com as portas seriais. Isso ativa o console serial interativo para a instância.

    Configuração da tela de detalhes da instância para edição.

    Se quiser que essas configurações sejam aplicadas a todas as instâncias do projeto, defina metadados personalizados em todo o projeto.

    Para mais informações sobre a atualização de metadados de instância, consulte Como armazenar e recuperar metadados de instância.

  3. Clique em Salvar e retorne ao início da página.

  4. Em Acesso remoto, clique na lista suspensa ao lado de Conectar ao console serial e selecione Porta serial 2. Será aberto um Console de Administração Especial (SAC, na sigla em inglês) do Windows (em inglês).

  5. No prompt SAC>, execute cmd para criar um novo canal. O SAC retorna o nome do canal, por exemplo, Cmd001.

  6. Execute ch -sn CHANNEL_NAME e pressione qualquer tecla para se conectar ao canal. Por exemplo:

    SAC> cmd
    The Command Prompt session was successfully launched.
    SAC>
    EVENT:   A new channel has been created.  Use "ch -?" for channel help.
    Channel: Cmd0001
    SAC> ch -sn cmd0001
    Press any key to confirm connection to the channel.
    
  7. Insira o nome de usuário, o domínio e a senha da instância para se conectar.

gcloud

Para se conectar à instância do Windows usando um console serial interativo por meio da ferramenta de linha de comando gcloud, faça o seguinte:

  1. Se ainda não fez, faça o download e a instalação do SDK do Cloud no sistema operacional local. Consulte Como instalar o SDK do Cloud.

  2. Inicie o SDK do Cloud.

  3. Execute o seguinte comando para configurar a instância e ativar a conexão com portas seriais:

    gcloud compute instances add-metadata VM_NAME \
    --zone ZONE \
    --metadata=serial-port-enable=1
    

    Opcional: se quiser aplicar as configurações a todas as instâncias do projeto, execute o seguinte comando do SDK do Cloud:

    gcloud compute project-info add-metadata
    --metadata=serial-port-enable=1
    

    Para mais informações sobre os metadados personalizados para todo o projeto, consulte Como definir metadados personalizados de projeto.

    Para mais informações sobre a atualização de metadados, consulte Como atualizar metadados de instância.

  4. Execute o seguinte comando gcloud para iniciar uma sessão interativa:

    gcloud compute connect-to-serial-port VM_NAME --port=2
    

    Sessão interativa do SAC.

  5. No prompt SAC>, execute cmd para criar um novo canal. O SAC retorna o nome do canal, por exemplo, Cmd001.

  6. Execute ch -sn CHANNEL_NAME e pressione qualquer tecla para se conectar ao canal. Por exemplo:

    SAC> cmd
    The Command Prompt session was successfully launched.
    SAC>
    EVENT:   A new channel has been created.  Use "ch -?" for channel help.
    Channel: Cmd0001
    SAC> ch -sn cmd0001
    Press any key to confirm connection to the channel.
    
  7. Insira o nome de usuário, o domínio e a senha da instância para se conectar.

A seguir