Crie chaves SSH

Este documento descreve como criar um par de chaves SSH para instâncias de máquinas virtuais (VMs) do Compute Engine para estabelecer ligação em segurança às suas instâncias de VMs do Compute Engine.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

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

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

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

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Crie um par de chaves SSH

Se se ligar a VMs através da Google Cloud consola ou da Google Cloud CLI, o Compute Engine cria chaves SSH em seu nome. Para mais informações sobre como o Compute Engine configura e armazena chaves, consulte o artigo Acerca das ligações SSH.

Se estabelecer ligação a VMs através de ferramentas de terceiros ou do OpenSSH, tem de adicionar uma chave à VM antes de poder estabelecer ligação. Se não tiver uma chave SSH, tem de criar uma. As VMs aceitam os formatos principais indicados no ficheiro sshd_config.

Linux e macOS

Em estações de trabalho Linux e macOS, use o utilitário ssh-keygen para criar um novo par de chaves SSH. O exemplo seguinte cria um par de chaves RSA.

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

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

Substitua o seguinte:

  • KEY_FILENAME: o nome do ficheiro de chave SSH.

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

  • USERNAME: o seu nome de utilizador na VM. Por exemplo, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Para VMs Linux, o USERNAME não pode ser root, a menos que configure a VM para permitir o início de sessão de raiz. Para mais informações, consulte o artigo Estabeleça ligação a VMs como utilizador root.

    Para VMs do Windows que usam o Active Directory (AD), o nome de utilizador tem de ter o domínio do AD anteposto, no formato de DOMAIN\. Por exemplo, o utilizador cloudysanfrancisco no AD ad.example.com tem um USERNAME de example\cloudysanfrancisco.

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

Uma chave pública para o utilizador cloudysanfrancisco tem um aspeto semelhante ao seguinte:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 ou posterior

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

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

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

Substitua o seguinte:

  • WINDOWS_USER: o seu nome de utilizador no computador Windows.

  • KEY_FILENAME: o nome do ficheiro de chave SSH.

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

  • USERNAME: o seu nome de utilizador na VM. Por exemplo, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Para VMs Linux, o USERNAME não pode ser root, a menos que configure a VM para permitir o início de sessão de raiz. Para mais informações, consulte o artigo Estabeleça ligação a VMs como utilizador root.

    Para VMs do Windows que usam o Active Directory (AD), o nome de utilizador tem de ter o domínio do AD anteposto, no formato de DOMAIN\. Por exemplo, o utilizador cloudysanfrancisco no AD ad.example.com tem um USERNAME de example\cloudysanfrancisco.

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

Uma chave pública para o utilizador cloudysanfrancisco tem um aspeto semelhante ao seguinte:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 ou anterior

Em estações de trabalho com a versão 8 ou anterior do Windows, use a ferramenta PuTTYgen para criar um novo par de chaves SSH. O exemplo seguinte cria um par de chaves RSA.

  1. Transfira puttygen.exe se ainda não o fez.

  2. Abra o PuTTYgen.

  3. Em Parâmetros, especifique o seguinte:

    • Tipo de chave a gerar: RSA
    • Número de bits numa chave gerada: 2048 ou mais
  4. Clique em Gerar e siga as instruções no ecrã.

    A ferramenta apresenta o valor da chave pública.

  5. Na secção Comentário da chave, substitua o texto pré-preenchido pelo seu nome de utilizador. Por exemplo, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Para VMs do Linux, o comentário da chave não pode ser root, a menos que configure a VM para permitir o início de sessão de raiz. Para mais informações, consulte o artigo Estabeleça ligação a VMs como utilizador root.

    Para VMs do Windows que usam o Active Directory (AD), o comentário da chave tem de ter o domínio do AD anteposto, no formato DOMAIN\. Por exemplo, o utilizador cloudysanfrancisco no anúncio ad.example.com tem um comentário principal de example\cloudysanfrancisco.

  6. Opcional: introduza uma frase secreta da chave para proteger a chave com uma palavra-passe.

  7. Clique em Guardar chave privada para escolher uma localização onde guardar a chave privada.

    O PuTTYgen escreve a chave privada num ficheiro com uma extensão .ppk.

  8. Clique em Guardar chave pública para escolher uma localização onde guardar a chave pública. Mantenha a janela do PuTTYgen aberta.

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

  10. Abra o ficheiro de chave pública. A chave pública tem um formato semelhante ao seguinte:

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

    KEY_VALUE USERNAME
    

Uma chave pública para o utilizador cloudysanfrancisco tem um aspeto semelhante ao seguinte:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

O que se segue?