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.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    REST

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

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

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