Criar chaves SSH

Neste documento, descrevemos como criar um par de chaves SSH para instâncias de máquina virtual (VM) do Compute Engine e como conectar-se a elas com segurança.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

    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. Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

      Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Criar um par de chaves SSH

Se você se conectar a VMs usando o console do Google Cloud ou a CLI do Google Cloud, o Compute Engine vai criar chaves SSH em seu nome. Para saber como o Compute Engine configura e armazena chaves, consulte Sobre conexões SSH.

Se você se conectar a VMs usando ferramentas de terceiros ou o OpenSSH, adicione uma chave à VM antes de se conectar. Se você não tiver uma chave SSH, crie uma. As VMs aceitam os formatos de chave listados no arquivo sshd_config.

Linux e macOS

Em estações de trabalho do Linux e do macOS, use o utilitário ssh-keygen para criar um par de chaves SSH. No exemplo a seguir, confira a criação de um par de chaves RSA.

Abra um terminal e use o comando ssh-keygen com a flag -C para criar um par de chaves SSH.

ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME

Substitua:

  • KEY_FILENAME: o nome do arquivo de chave SSH.

    Por exemplo, um nome de arquivo my-ssh-key gera um arquivo de chave privada my-ssh-key e um arquivo de chave pública my-ssh-key.pub.

  • USERNAME: seu nome de usuário na VM. Por exemplo, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Em VMs do Linux, o USERNAME não pode ser root, a menos que você configure a VM para permitir login raiz. Para mais informações, consulte Conectar-se a VMs como usuário raiz.

    Em VMs do Windows que usam o Active Directory (AD), o nome de usuário precisa ser anexado ao domínio do AD no formato DOMAIN\. Por exemplo, o usuário cloudysanfrancisco no AD ad.example.com tem o USERNAME example\cloudysanfrancisco.

ssh-keygen salva o arquivo de chave privada em ~/.ssh/KEY_FILENAME e o arquivo de chave pública em ~/.ssh/KEY_FILENAME.pub.

Uma chave pública para o usuário cloudysanfrancisco é parecida com esta:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 ou mais recente

Em estações de trabalho com o Windows 10 ou mais recente, use o utilitário ssh-keygen para criar um par de chaves SSH. No exemplo a seguir, confira a criação de um par de chaves RSA.

Abra o prompt de comando e use o comando ssh-keygen com a flag -C para criar um par de chaves SSH.

ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME

Substitua:

  • WINDOWS_USER: seu nome de usuário na máquina Windows.

  • KEY_FILENAME: o nome do arquivo de chave SSH.

    Por exemplo, um nome de arquivo my-ssh-key gera um arquivo de chave privada my-ssh-key e um arquivo de chave pública my-ssh-key.pub.

  • USERNAME: seu nome de usuário na VM. Por exemplo, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Em VMs do Linux, o USERNAME não pode ser root, a menos que você configure a VM para permitir login raiz. Para mais informações, consulte Conectar-se a VMs como usuário raiz.

    Em VMs do Windows que usam o Active Directory (AD), o nome de usuário precisa ser anexado ao domínio do AD no formato DOMAIN\. Por exemplo, o usuário cloudysanfrancisco no AD ad.example.com tem o USERNAME example\cloudysanfrancisco.

ssh-keygen salva o arquivo de chave privada em C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME e o arquivo de chave pública em C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub.

Uma chave pública para o usuário cloudysanfrancisco é parecida com esta:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 ou anterior

Em estações de trabalho com o Windows 8 ou anterior, use a ferramenta PuTTYgen para criar um par de chaves SSH. No exemplo a seguir, confira a criação de um par de chaves RSA.

  1. Faça o download de puttygen.exe, se ainda não tiver feito.

  2. Abra o PuTTYgen.

  3. Em Parâmetros, especifique o seguinte:

    • Tipo de chave a ser gerada: RSA
    • Número de bits em uma chave gerada: 2048 ou mais
  4. Clique em Gerar e siga as instruções na tela.

    A ferramenta exibe o valor da chave pública.

  5. Na seção Comentários sobre a chave, substitua o texto pré-preenchido pelo seu nome de usuário. Por exemplo, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Para VMs do Linux, o Comentário sobre a chave não pode ser root, a menos que você configure a VM para permitir login raiz. Para mais informações, consulte Conectar-se a VMs como usuário raiz.

    Para VMs do Windows que usam o Active Directory (AD), o Comentário sobre a chave precisa ser anexado ao domínio do AD no formato DOMAIN\. Por exemplo, o usuário cloudysanfrancisco no AD ad.example.com tem o Comentário sobre a chave example\cloudysanfrancisco.

  6. Opcional: insira uma senha longa de chave para proteger a chave com uma senha.

  7. Clique em Salvar chave privada para escolher um local para salvar a chave privada.

    O PuTTYgen grava a chave privada em um arquivo com uma extensão .ppk.

  8. Clique em Salvar chave pública para escolher um local para salvar a chave pública. Mantenha a janela do PuTTYgen aberta.

  9. Copie o texto do campo Chave pública para colar no arquivo authorized_keys do OpenSSH.

  10. Abra o arquivo de chave pública. A chave pública tem um formato parecido com este:

    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "USERNAME"
    KEY_VALUE
    ---- END SSH2 PUBLIC KEY ----
    
  11. Substitua todo o conteúdo do arquivo de chave pública pelo valor que você copiou do campo Chave pública para colar no arquivo authorized_keys do OpenSSH para que esse arquivo corresponda ao seguinte formato:

    KEY_VALUE USERNAME
    

Uma chave pública para o usuário cloudysanfrancisco é parecida com esta:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

A seguir