Como se conectar a instâncias

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

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

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 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 GCP, acesse a página Instâncias de VMs.

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

  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] [INSTANCE_NAME]

Em que:

  • [PROJECT_ID] é o ID 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ê 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 [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 que você estabelece 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.

Não é necessário saber onde suas chaves SSH são armazenadas se você estiver se conectando das formas descritas neste documento, mas 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 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 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

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

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

Só é possível gravar as chaves de host nos 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 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] [INSTANCE_NAME]
      

      Em que:

      • [PROJECT_ID] é o ID 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ê definiu propriedades padrão para a ferramenta de linha de comando gcloud, poderá omitir as sinalizações --project e --zone desse comando. Exemplo:

      gcloud 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 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 [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

É possível se conectar a instâncias do Windows usando o protocolo de Área de trabalho remota (RDP, na sigla em inglês) no Console do Google Cloud ou por meio de uma interface gráfica do usuário.

Área de trabalho remota

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

Área de trabalho remota do Google Chrome

Antes de se conectar usando a Área de trabalho remota do Google Chrome, verifique se os seguintes pré-requisitos são atendidos:

  • A instância de VM tem um endereço IP público.
  • As regras de firewall permitem tráfego TCP de entrada proveniente do endereço IP público de seu cliente para a instância usando a porta 3389.

Para se conectar usando a Área de trabalho remota do Google Chrome, faça o seguinte:

  1. Conecte-se à instância usando o Chrome RDP para GCP ou a Área de trabalho remota. Consulte instruções nas outras guias.

  2. Na VM, faça o download do Chrome e instale-o.

  3. Faça o download e a instalação da Área de trabalho remota do Google Chrome.

  4. Siga as instruções fornecidas pela extensão para configurar a instância de VM como um host.

  5. Desconecte-se da instância.

  6. Na máquina em que você quer usar a Área de trabalho remota do Google Chrome para se conectar à instância de VM, faça o download e a instalação da Área de trabalho remota do Google Chrome.

  7. Verifique se você fez login no Google Chrome usando a mesma Conta do Google que usou na instância de VM ao instalar a Área de trabalho remota do Google Chrome.

  8. A instância de VM deve aparecer na lista de dispositivos remotos. Clique no dispositivo para se conectar a ele.

RDP do Chrome para GCP

Antes de se conectar usando o RDP do Chrome para GCP, verifique se os seguintes pré-requisitos são atendidos:

  • A instância de VM tem um endereço IP público.
  • As regras de firewall permitem tráfego TCP de entrada proveniente do endereço IP público de seu cliente para a instância usando a porta 3389.
  1. Instale o RDP do Chrome para a extensão do Google Cloud.

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

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

  3. Clique no botão RDP referente à instância a que você quer se conectar. 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

Antes de se conectar usando um cliente de Computador remoto, 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;
  • sua rede local está conectada à sua VPC por VPN ou Cloud Interconnect e as regras de firewall permitem o tráfego TCP de entrada proveniente do endereço IP privado do seu cliente 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. 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 compute instances list
    
  2. Abra o software Conexão de Área de Trabalho Remota do Microsoft Windows na sua máquina Windows.

    A janela de conexão mstsc.

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

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

Outro

É possível se conectar a suas instâncias de VM do Windows usando outros clientes RDP, como clientes desenvolvidos para Android, iOS, Mac e 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;
  • sua rede local está conectada à sua VPC por VPN ou Cloud Interconnect e as regras de firewall permitem o tráfego TCP de entrada proveniente do endereço IP privado do seu cliente 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 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.

Consulte a página Solução de problemas do RDP se estiver com dificuldades para se conectar usando 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. Use o SAC para solucionar problemas de uma instância do Windows se não conseguir se conectar a ela por meio da Á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. Abra a página de instâncias da VM no Console do Cloud 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 VM"

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