Criar um par de chaves para sua instância do Amazon EC2
É possível usar o Amazon EC2 para criar seus pares de chaves ou usar uma ferramenta de terceiros para criar seus pares de chaves e depois importá-los para o Amazon EC2.
O Amazon EC2 é compatível com as chaves SSH-2 RSA de 2.048 bits para instâncias do Linux e do Windows. Além disso, o Amazon EC2 é compatível com chaves ED25519 para instâncias do Linux.
Para obter as instruções sobre como se conectar à instância depois de criar um par de chaves, consulte Conectar-se à instância do Linux usando SSH e Conectar-se à sua instância baseada no Windows usando RDP.
Conteúdo
Criar um par de chaves usando o Amazon EC2
Quando você criar um par de chaves usando o Amazon EC2, a chave pública será armazenada no Amazon EC2 e você armazenará a chave privada.
É possível criar até 5.000 pares de chaves por região. Para solicitar um aumento de cota, crie um caso de suporte. Para obter mais informações, consulte Criação de um caso de suporte no Guia do usuário do AWS Support.
Criar um par de chaves usando o AWS CloudFormation
Quando você cria um novo par de chaves usando o AWS CloudFormation, a chave privada é salva no AWS Systems Manager Parameter Store. O nome do parâmetro tem o seguinte formato:
/ec2/keypair/key_pair_id
Para obter mais informações, consulte o Armazenamento de parâmetros do AWS Systems Manager, no Guia do usuário do AWS Systems Manager.
Para criar um par de chaves usando o AWS CloudFormation
-
Especifique o recurso AWS::EC2::KeyPair em seu modelo.
Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
-
Use o comando describe-key-pairs da seguinte forma para obter o ID do par de chaves.
aws ec2 describe-key-pairs --filters Name=key-name,Values=
new-key-pair
--query KeyPairs[*].KeyPairId --output textO seguinte é um exemplo de saída.
key-05abb699beEXAMPLE
-
Use o comando get-parameter da seguinte forma para obter o parâmetro para sua chave e salvar o material da chave em um arquivo
.pem
.aws ssm get-parameter --name /ec2/keypair/
key-05abb699beEXAMPLE
--with-decryption --query Parameter.Value --output text >new-key-pair.pem
Permissões obrigatórias do IAM
Para habilitar o AWS CloudFormation a gerenciar parâmetros da Parameter Store em seu nome, o perfil do IAM assumido pelo AWS CloudFormation ou seu usuário devem ter as permissões a seguir:
-
ssm:PutParameter
: concede permissão para criar um parâmetro para o material da chave privada. -
ssm:DeleteParameter
: concede permissão para excluir o parâmetro que armazenou o material da chave privada. Essa permissão é necessária independentemente de o par de chaves ter sido importado ou criado pelo AWS CloudFormation.
Quando o AWS CloudFormation exclui um par de chaves criado ou importado por uma pilha, ele realiza uma verificação de permissões para determinar se você tem permissão para excluir os parâmetros, embora o AWS CloudFormation só crie um parâmetro quando cria um par de chaves, não quando importa um par de chaves. O AWS CloudFormation testa a permissão necessária usando um nome de parâmetro fabricado que não corresponde a nenhum parâmetro em sua conta. Portanto, você pode ver um nome de parâmetro fabricado na mensagem de erro AccessDeniedException
.
Criar um par de chaves usando uma ferramenta de terceiros e importe a chave pública para o Amazon EC2
Em vez de usar o Amazon EC2 para criar um par de chaves, você pode criar um par de chaves RSA ou ED25519 usando uma ferramenta de terceiros e, então, importar a chave pública para o Amazon EC2.
Requisitos para pares de chaves
-
Tipos compatíveis:
-
(Linux e Windows) RSA
-
(Somente Linux) ED25519
nota
As chaves ED25519 não são compatíveis com as instâncias do Windows.
-
O Amazon EC2 não aceita chaves DSA.
-
-
Formatos com suporte
-
Formato de chave pública OpenSSH (para Linux, o formato em
~/.ssh/authorized_keys
) -
(Somente Linux) Se você se conectar usando SSH enquanto usa a API do EC2 Instance Connect, o formato do SSH2 também será compatível.
-
O formato de arquivo de chave privada SSH deve ser PEM ou PPK
-
(Apenas RSA) Formato DER codificado em Base64
-
(Apenas RSA) Formato de arquivo de chave pública SSH, conforme especificado em RFC 4716
-
-
Tamanhos compatíveis:
-
1024, 2048 e 4096.
-
(Somente Linux) Se você se conectar usando SSH enquanto usa a API do EC2 Instance Connect, os tamanhos compatíveis serão 2048 e 4096.
-
Para criar um par de chaves usando uma ferramenta de terceiros
-
Gere um par de chaves com uma ferramenta de terceiros de sua escolha. Por exemplo, é possível usar ssh-keygen (uma ferramenta fornecida com a instalação padrão de OpenSSH). Como alternativa, Java, Ruby, Python e muitas outras linguagens de programação fornecem bibliotecas padrão que você pode usar para criar um par de chaves.
Importante
A chave privada deve estar no formato PEM ou PPK. Por exemplo, use
ssh-keygen -m PEM
para gerar a chave OpenSSH no formato PEM. -
Salve a chave pública em um arquivo local. Por exemplo,
~/.ssh/my-key-pair.pub
(Linux, macOS) ouC:\keys\my-key-pair.pub
(Windows). A extensão do nome de arquivo para esse arquivo não é importante. -
Salve a chave privada em um arquivo local que tenha a extensão
.pem
ou.ppk
. Por exemplo,~/.ssh/my-key-pair.pem
ou~/.ssh/my-key-pair.ppk
(Linux, macOS) ouC:\keys\my-key-pair.pem
ouC:\keys\my-key-pair.ppk
(Windows). A extensão do arquivo é importante porque, dependendo da ferramenta usada para se conectar à instância, você precisará de um formato de arquivo específico. O OpenSSH requer um arquivo.pem
, enquanto o PuTTY requer um arquivo.ppk
.Importante
Salve o arquivo de chave privada em um lugar seguro. Você precisará fornecer o nome da chave pública ao iniciar uma instância e a chave privada correspondente sempre que se conectar à instância.
Depois de criar o par de chaves, use um dos seguintes métodos para importar o par de chaves para Amazon EC2.