Gerenciando Pares de Chaves em Instâncias do Linux

As instâncias iniciadas usando imagens do Oracle Linux, CentOS ou Ubuntu usam um par de chaves SSH em vez de uma senha para autenticar um usuário remoto (consulte Credenciais de Segurança). Um par de chaves consiste em uma chave privada e uma chave pública. Mantenha a chave privada em seu computador e forneça a chave pública sempre que criar uma instância. Ao estabelecer conexão com a instância usando SSH, forneça o caminho para a chave privada no comando SSH.

Se você estiver usando o OpenSSH para estabelecer conexão com uma instância, poderá usar um par de chaves gerado pelo Oracle Cloud Infrastructure no momento em que criar a instância. O OpenSSH deve ser instalado em sistemas baseados em UNIX (incluindo Linux e OS X), Windows 10 e Windows Server 2019.

Importante

A Oracle não armazena uma cópia da chave privada gerada pela Console. Portanto, é necessário manter uma cópia da chave privada para estabelecer conexão com sua instância. Sem a chave privada, a única solução para estabelecer conexão com uma instância é criar uma nova instância usando uma nova chave privada.

Você pode ter quantos pares de chaves quiser ou pode simplificar a questão e usar um par de chaves para todas ou várias de suas instâncias.

Para criar seus próprios pares de chaves, você pode usar uma ferramenta de terceiros como OpenSSH em sistemas de estilo UNIX (incluindo Linux, Solaris, BSD e OS X) ou o Gerador de Chaves PuTTY no Windows.

Cuidado

Qualquer um que tenha acesso à chave privada pode estabelecer conexão com a instância. Armazene a chave privada em um local seguro.

Formato de Chave Pública SSH Obrigatório

Se você fornecer seu próprio par de chaves, ele deverá usar o formato OpenSSH.

Uma chave pública tem o seguinte formato:

<key_type> <public_key> <optional_comment>

Por exemplo, uma chave pública RSA é semelhante a esta:

ssh-rsa AAAAB3BzaC1yc2EAAAADAQABAAABAQD9BRwrUiLDki6P0+jZhwsjS2muM...
                    
                    ...yXDus/5DQ== rsa-key-20201202

Para imagens da plataforma, estes tipos de chave SSH são suportados: RSA, DSA, DSS, ECDSA e Ed25519. Se você trouxer sua própria imagem, será responsável por gerenciar os tipos de chave SSH suportados.

Para chaves RSA, DSS e DSA, recomenda-se um mínimo de 2048 bits. Para chaves ECDSA, é recomendável no mínimo 256 bits.

Antes de começar

  • Se você estiver usando um sistema no estilo UNIX, provavelmente já terá o utilitário ssh-keygen instalado. Para determinar se o utilitário está instalado, digite ssh-keygen na linha de comando. Caso o utilitário não esteja instalado, você poderá fazer download do OpenSSH para UNIX usando o link http://www.openssh.com/portable.html e instalá-lo.
  • Se você estiver usando um sistema operacional Windows, deverá ter o PuTTY e o Gerador de Chaves PuTTY. Faça download do PuTTY e do PuTTYgen acessando o endereço http://www.putty.org e instale-os.
  • Certifique-se de que as permissões para a pasta e as chaves SSH sejam as seguintes:
    • A pasta SSH deve ser 700
    • As chaves públicas devem ser 644
    • As chaves privadas devem ser 400

Criando um Par de Chaves SSH na Linha de Comando

  1. Abra um shell ou terminal para digitar os comandos.
  2. No prompt, digite ssh-keygen e forneça um nome para a chave quando solicitado. Se preferir, inclua uma frase-senha.

    As chaves serão criadas com os valores padrão: chaves RSA de 2048 bits.

Como alternativa, você pode digitar um comando completo ssh-keygen, por exemplo:

ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>

Os argumentos do comando são mostrados na tabela a seguir:

Argumento Descrição
-t rsa Use o algoritmo RSA.
-N "<passphrase>"

Uma frase-senha para proteger o uso da chave (como uma senha). Se você não quiser definir uma frase-senha, não digite nada entre as aspas.

Não é obrigatória uma frase-senha. Você pode especificar uma como medida de segurança para proteger a chave privada de uso não autorizado. Se você especificar uma frase-senha, ao estabelecer conexão com a instância, deverá fornecer a frase-senha, o que normalmente dificulta a automatização da conexão com uma instância.

-b 2048

Gere uma chave de 2048 bits. Não será necessário definir esta opção se 2048 for aceitável, pois 2048 é o padrão.

São recomendados no mínimo 2048 bits para RSA SSH-2.

-C "<key_name>" Um nome para identificar a chave.
-f <path/root_name> O local em que o par de chaves será salvo e o nome da raiz dos arquivos.

Criando um Par de Chaves SSH Usando o Gerador de Chaves PuTTY

  1. Localize puttygen.exe na pasta do PuTTY em seu computador, por exemplo, C:\Program Files (x86)\PuTTY. Clique duas vezes em puttygen.exe para abri-lo.
  2. Especifique um tipo de chave RSA SSH-2 e um tamanho de chave de 2048 bits:

    • No menu Chave, confirme se o valor padrão SSH-2 RSA key está selecionado.
    • Para o Tipo de chave a ser gerada, aceite o tipo de chave padrão RSA.
    • Defina o Número de bits em uma chave gerada como 2048 se ainda não estiver definido.
  3. Clique em Gerar.
  4. Passe o mouse sobre a área em branco na janela PuTTY para gerar dados aleatórios na chave.

    Quando a chave é gerada, ela aparece sob Chave pública para colagem no arquivo authorized_keys do OpenSSH.

  5. Um Comentário de chave é gerado para você, incluindo a marca de data e hora. Você pode manter o comentário padrão ou substituí-lo por seu próprio comentário mais descritivo.
  6. Deixe o campo Frase-senha da chave em branco.
  7. Clique em Salvar chave privada e, em seguida, clique em Sim no prompt sobre salvar a chave sem uma frase-senha.

    O par de chaves é salvo no formato PPK (PuTTY Private Key), um formato proprietário que funciona somente com o conjunto de ferramentas do PuTTY.

    Você dar à chave o nome que desejar, mas use a extensão de arquivo ppk. Por exemplo, mykey.ppk.

  8. Selecione todas as chaves geradas que aparecem em Chave pública para colar no arquivo authorized_keys do OpenSSH, copie-as usando Ctrl + C, cole-as em um arquivo de texto e salve o arquivo no mesmo local da chave privada.

    (Não use Salvar chave pública porque essa opção não salva a chave no formato OpenSSH.)

    Você pode dar à chave o nome que desejar, mas para manter a consistência, use o mesmo nome da chave privada e uma extensão de arquivo pub. Por exemplo, mykey.pub.

  9. Anote os nomes e o local dos seus arquivos de chave pública e privada. Você precisará da chave pública ao iniciar uma instância. Você precisará da chave privada para acessar a instância via SSH.

Agora que tem um par de chaves, você está pronto para iniciar instâncias, conforme descrito em Criando uma Instância.