Creación de un par de claves para la instancia de Amazon EC2
Puede utilizar Amazon EC2 para crear los pares de claves, o bien usar una herramienta de terceros para crearlos e importarlos luego en Amazon EC2.
Amazon EC2 admite claves RSA SSH-2 de 2048 bits para instancias de Linux y Windows. Amazon EC2 también admite claves ED25519 para las instancias de Linux.
Para obtener instrucciones sobre cómo conectarse a una instancia después de crear un par de claves, consulte Conexión a la instancia de Linux con SSH y Conexión a una instancia de Windows de mediante RDP.
Contenido
Crear un par de claves mediante Amazon EC2
Cuando se crea un par de claves con Amazon EC2, la clave pública se almacena en Amazon EC2, y usted almacena la clave privada.
Puede crear hasta 5000 pares de claves por región. Para solicitar un aumento, cree un caso de asistencia. Para obtener más información, consulte Creación de un caso de soporte en la Guía del usuario de Support.
Crear un par de claves con AWS CloudFormation
Cuando crea un nuevo par de claves con AWS CloudFormation, la clave privada se guarda en un almacén de parámetros de AWS Systems Manager. El formato del nombre del parámetro es el siguiente:
/ec2/keypair/key_pair_id
Para obtener más información, consulte Almacén de parámetros de AWS Systems Manager en la Guía del usuario de AWS Systems Manager.
Para crear un par de claves con AWS CloudFormation
-
Especifique el recurso AWS::EC2::KeyPair en su plantilla.
Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
-
Utilice el comando describe-key-pairs
como se indica a continuación para obtener el ID del par de claves. aws ec2 describe-key-pairs --filters Name=key-name,Values=
new-key-pair
--query KeyPairs[*].KeyPairId --output textA continuación, se muestra un ejemplo del resultado.
key-05abb699beEXAMPLE
-
Utilice el comando get-parameter
como se indica a continuación para obtener el parámetro de su clave y guardar el material de la clave en un archivo .pem
.aws ssm get-parameter --name /ec2/keypair/
key-05abb699beEXAMPLE
--with-decryption --query Parameter.Value --output text >new-key-pair.pem
Permisos de IAM necesarios
Para que AWS CloudFormation pueda administrar los parámetros del Almacén de parámetros en su nombre, el rol de IAM asumido por AWS CloudFormation o su usuario tiene que tener los permisos siguientes:
-
ssm:PutParameter
: otorga permiso para crear un parámetro para el material de clave privada. -
ssm:DeleteParameter
: concede permiso para eliminar el parámetro que almacenaba el material de la clave privada. Este permiso es necesario independientemente de si AWS CloudFormation creó o importó el par de claves.
Cuando AWS CloudFormation elimina un par de claves que la pila creó o importó, hace una comprobación de los permisos para determinar si tiene permiso para eliminar parámetros, aunque AWS CloudFormation crea un parámetro solo cuando crea un par de claves, no cuando importa un par de claves. AWS CloudFormation comprueba el permiso necesario mediante un nombre de parámetro inventado que no coincide con ningún parámetro de su cuenta. Por lo tanto, es posible que vea un nombre de parámetro inventado en el mensaje de error AccessDeniedException
.
Crear un par de claves con una herramienta de terceros e importar la clave pública a Amazon EC2
En lugar de utilizar Amazon EC2 para crear un par de claves, puede crear un par de claves RSA o ED25519 con una herramienta de terceros y, a continuación, importar la clave pública en Amazon EC2.
Requisitos para pares de claves
-
Tipos admitidos:
-
(Linux y Windows) RSA
-
(Solo para Linux) ED25519
nota
Las claves ED25519 no son compatibles con instancias de Windows.
-
Amazon EC2 no acepta claves DSA.
-
-
Formatos admitidos:
-
Formato de clave pública de OpenSSH (en Linux, el formato de
~/.ssh/authorized_keys
) -
(Solo para Linux) Si se conecta mediante SSH mientras utiliza la API de EC2 Instance Connect, se admite también el formato SSH2.
-
El formato del archivo de clave privada de SSH debe ser PEM o PPK
-
(Solo RSA) Formato DER codificado en Base64
-
(Solo RSA) Formato de archivo de claves públicas de SSH tal y como se especifica en RFC 4716
-
-
Longitudes admitidas:
-
1024, 2048 y 4096.
-
(Solo para Linux) Si se conecta mediante SSH mientras utiliza la API de EC2 Instance Connect, se admiten las longitudes 2048 y 4096.
-
Para crear su par de claves con una herramienta de terceros
-
Genere un par de claves con la herramienta de terceros de su elección. Por ejemplo, puede usar ssh-keygen (una herramienta proporcionada con la instalación de OpenSSH estándar). Además, Java, Ruby, Python y otros muchos lenguajes de programación ofrecen bibliotecas estándar que puede utilizar para crear un par de claves.
importante
La clave privada debe estar en formato PEM o PPK. Por ejemplo, use
ssh-keygen -m PEM
para generar la clave OpenSSH en el formato PEM. -
Guarde la clave pública en un archivo local. Por ejemplo,
~/.ssh/my-key-pair.pub
(Linux, macOS) oC:\keys\my-key-pair.pub
(Windows). La extensión de este archivo no es importante. -
Guarde la clave privada en un archivo local con la extensión
.pem
o.ppk
. Por ejemplo,~/.ssh/my-key-pair.pem
o~/.ssh/my-key-pair.ppk
(Linux, macOS) oC:\keys\my-key-pair.pem
oC:\keys\my-key-pair.ppk
(Windows). La extensión del archivo es importante porque, según la herramienta que utilice para conectarse a la instancia, necesitará un formato de archivo específico. OpenSSH requiere un archivo.pem
, mientras que PuTTY requiere un archivo.ppk
.importante
Guarde el archivo de clave privada en un lugar seguro. Deberá proporcionar el nombre de su clave pública al iniciar una instancia y la clave privada correspondiente cada vez que se conecte a dicha instancia.
Una vez creado el par de claves, use uno de los métodos siguientes para importar la clave pública a Amazon EC2.