Como conectar-se a instâncias

Nesta página, você aprenderá algumas das maneiras mais comuns de se conectar com as instâncias do Linux e do Windows no Compute Engine.

Para outras maneiras de se conectar a instâncias, consulte:

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

Como se conectar a instâncias do Linux

Para se conectar a instâncias do Linux por meio do Console do Google Cloud Platform ou da ferramenta de linha de comando gcloud no SDK, siga as etapas nas guias abaixo:

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 conectar-se a instâncias que não têm endereços IP externos.

Console

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

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

  2. Na lista de instâncias de máquinas virtuais, clique em SSH na linha da instância com que você quer se conectar.

gcloud

Use o comando gcloud compute ssh para conectar-se a instâncias que você tem permissão para acessar.

gcloud compute ssh --project [PROJECT_ID] --zone [ZONE] [INSTANCE_NAME]

Em que:

  • [PROJECT_ID] é o código do projeto que contém a instância;
  • [ZONE] é o nome da zona em que a instância está localizada;
  • [INSTANCE_NAME] é o nome da instância.

Se você tiver definido as propriedades padrão para a ferramenta de linha de comando gcloud, omita as sinalizações --project e --zone desse comando. Exemplo:

gcloud compute ssh [INSTANCE_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 localizadas

Depois de estabelecer a conexão pela primeira vez, o Compute Engine gera um par de chaves SSH e o 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.

Ao usar os métodos de conexão descritos neste documento, não é necessário saber onde as chaves SSH estão armazenadas. No entanto, você pode precisar disso se usar os métodos de conexão alternativos ou avançados descritos em Como se conectar a instâncias usando 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 beta compute ssh para se conectar a instâncias do Linux, será possível adicionar 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

O armazenamento de chaves de host como atributos de convidado é compatível com os seguintes sistemas operacionais:

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

Só é possível gravar as chaves de host como atributos de convidado na primeira inicialização de uma instância de VM. Para gravar as chaves de host nos atributos de convidado, é preciso 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 atributos de convidado, consulte Como ativar atributos de convidado na instância.
  2. Conecte-se à instância usando gcloud beta 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 beta compute ssh --project [PROJECT_ID] --zone [ZONE] [INSTANCE_NAME]
      

      Em que:

      • [PROJECT_ID] é o código do projeto que contém a instância;
      • [ZONE] é o nome da zona em que a instância está localizada;
      • [INSTANCE_NAME] é o nome da instância.

      Se você tiver definido as propriedades padrão para a ferramenta de linha de comando gcloud, omita as sinalizações --project e --zone desse comando. Exemplo:

       gcloud beta compute ssh [INSTANCE_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 analisar 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 analisar os valores de chave de host

Use a ferramenta de linha de comando gcloud para verificar se as chaves ssh foram gravadas nos atributos de convidado.

 gcloud compute instances get-guest-attributes [INSTANCE_NAME] --query-path "hostkeys/" --zone [ZONE]

Em que:

  • [ZONE] é o nome da zona em que a instância está localizada;
  • [INSTANCE_NAME] é o nome da instância.

A saída será semelhante a esta:

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

Para se conectar a instâncias do Windows usando o Remote Desktop Protocol (RDP) no Console do Google Cloud Platform ou por meio de uma interface gráfica do usuário, siga as etapas nas guias abaixo:

Conectar-se usando um cliente RDP gráfico

Verifique suas regras de firewall VPC para garantir se o RDP é permitido.

Antes de estabelecer a conexão, crie uma senha para a instância do Windows. Ela será necessária nas etapas a seguir:

Console

Para estabelecer a conexão usando o Console do GCP com a extensão Chrome RDP, faça o seguinte:

  1. Instale a extensão Chrome RDP para Google Cloud Platform.

  2. Acesse a página Instâncias de VM no Console do GCP e encontre a instância do Windows com que você quer se conectar.

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

  3. Clique no botão RDP da instância com que você quer estabelecer uma conexão. A extensão Chrome RDP será aberta.

  4. 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.

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

Área de Trabalho Remota

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

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

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

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

    gcloud compute instances list
    
  2. Abra o software Conexão de Área de Trabalho Remota da Microsoft na sua máquina Windows.

    Captura de tela da janela de conexão mstsc

  3. Digite o endereço IP externo no campo Computador. Clique em Conectar.

  4. Digite o nome de usuário e a senha. Em seguida, clique em OK para estabelecer a conexão.

Outro

Para estabelecer a conexão usando clientes em outras plataformas compatíveis com o RDP, como os desenvolvidos para Android, iOS, Mac e outros, faça o seguinte:

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

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

    Como alternativa, encontre esse endereço IP externo 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 externo da instância e faça a autenticação com o nome de usuário e senha da instância.

Para uma lista de clientes oficialmente aceitos, consulte o artigo da Microsoft Clientes de Área de Trabalho Remota.

Consulte a página Solução de problemas do RDP se estiver com dificuldades para estabelecer a conexão.

Estabelecer conexão com uma instância do Windows usando a linha de comando

Nesta seção, descrevemos como estabelecer conexão com a instância do Windows usando um console serial interativo ou o Console de Administração Especial (SAC, na sigla em inglês) do Windows, que é muito usado para a solução de problemas avançados em instâncias do Windows.

Para mais informações sobre o uso do console serial interativo, consulte Como interagir com o console serial.

Antes de se conectar, certifique-se de criar uma senha de instância do Windows que esteja pronta para uso.

Para se conectar à sua instância do Windows usando um console serial interativo, siga as etapas nas guias abaixo:

Console

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

  1. Abra a página "Instâncias de VMs" no Console do GCP e clique no nome da instância. A página de detalhes da instância de VM será aberta.

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

  2. Clique em Editar. 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 de 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. 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 conectar-se à 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 de modo a permitir a conexão com portas seriais:

    gcloud compute instances add-metadata [INSTANCE_NAME]
    --metadata=serial-port-enable=1
    

    Opcional: se quiser que as configurações se apliquem 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 inserir uma sessão interativa:

    gcloud compute connect-to-serial-port [INSTANCE_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. 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

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine