Criar chaves SSH


Neste documento, você verá como criar um par de chaves SSH para instâncias de máquina virtual (VM, na sigla em inglês) do Compute Engine.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte 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 Google Cloud CLI, o Compute Engine criará chaves SSH em seu nome. Para mais informações sobre como o Compute Engine configura e armazena chaves, consulte Sobre conexões SSH.

Se você se conectar a VMs usando ferramentas de terceiros ou OpenSSH, será necessário adicionar 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 o Linux e macOS, use a ferramenta ssh-keygen para criar um novo par de chaves SSH. No exemplo a seguir, criamos um par de chaves RSA.

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

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

Substitua:

  • KEY_FILENAME: o nome do arquivo de chave SSH.

    Por exemplo, um nome de arquivo my-ssh-key gera um arquivo de chave particular denominado my-ssh-key e um arquivo de chave pública denominado 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 sua VM para permitir login raiz. Para mais informações, consulte Conectar 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 um USERNAME de 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 é semelhante a esta:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 ou mais recente

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

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

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

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 particular denominado my-ssh-key e um arquivo de chave pública denominado 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 sua VM para permitir login raiz. Para mais informações, consulte Conectar 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 um USERNAME de 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 é semelhante a esta:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 ou anterior

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

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

  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 da chave não pode ser root, a menos que você configure sua VM para permitir login raiz. Para mais informações, consulte Conectar a VMs como usuário raiz.

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

  6. Opcional: insira uma senha longa de chave para proteger sua chave por senha.

  7. Clique em Salvar chave privada para escolher um local para salvá-la.

    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 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 semelhante a este:

    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "USERNAME"
    KEY_VALUE
    ---- END SSH2 PUBLIC KEY ----
    
  11. Substitua todo o conteúdo do arquivo da 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 é semelhante a esta:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

A seguir