Crie chaves SSH

Este documento descreve como criar um par de chaves SSH para instâncias de máquinas virtuais (VM) 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 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?