Création des paires de clés - Amazon Elastic Compute Cloud

Création des paires de clés

Vous pouvez utiliser Amazon EC2 pour créer une paire de clés RSA ou ED25519, ou utiliser un outil tiers pour créer une paire de clés, puis importer la clé publique dans Amazon EC2.

Pour connaître la procédure de connexion à votre instance Linux à l'aide de SSH après avoir créé une clé de paire, consultez Connectez-vous à votre instance Linux.

Créer une paire de clés à l'aide d'Amazon EC2

Lorsque vous créez une paire de clés à l'aide d'Amazon EC2, la clé publique est stockée dans Amazon EC2 et c'est vous qui stockez la clé privée.

Vous pouvez utiliser Amazon EC2 pour créer une paire de clés à l'aide de l'une des méthodes suivantes.

Console
Pour créer une paire de clés à l'aide d'Amazon EC2
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, sous Network & Security, choisissez Key Pairs.

  3. Choisissez Créer une paire de clés.

  4. Pour Name (Nom), entrez un nom descriptif pour la paire de clés. Amazon EC2 associe la clé publique au nom de clé que vous spécifiez. Le nom peut inclure jusqu'à 255 caractères ASCII. Il ne peut pas inclure d'espaces de début ou de fin.

  5. Pour le Key pair type (Type de paire de clés), sélectionnez RSA ou ED25519.

  6. Pour le Private Key File format (Format de fichier de clé privée), sélectionnez le format dans lequel vous souhaitez enregistrer la clé privée. Pour enregistrer la clé privée dans un format qui peut être utilisé avec OpenSSH, choisissez pem. Pour enregistrer la clé privée dans un format qui peut être utilisé avec PuTTY, choisissez ppk.

  7. Pour ajouter une balise à la clé publique, sélectionnez Add tag (Ajouter une balise), puis entrez la clé et la valeur de la balise. Répétez l'opération pour chaque étiquette.

  8. Choisissez Créer une paire de clés.

  9. Le fichier de clé privée est automatiquement téléchargé dans votre navigateur. Le nom de fichier de base est celui que vous avez spécifié pour votre paire de clés, et l'extension de nom de fichier est déterminée par le format de fichier que vous avez choisi. Enregistrez le fichier de clé privée en lieu sûr.

    Important

    C'est votre seule occasion d'enregistrer le fichier de clé privée.

  10. Si vous prévoyez d'utiliser un client SSH sur un ordinateur macOS ou Linux pour vous connecter à votre instance Linux, utilisez la commande suivante pour définir les autorisations de votre fichier de clé privée afin d'être la seule personne autorisée à le lire.

    chmod 400 key-pair-name.pem

    Si vous ne définissez pas ces autorisations, vous ne pouvez pas vous connecter à votre instance à l'aide de cette paire de clés. Pour plus d'informations, consultez Erreur : fichier de clé privée non protégé.

AWS CLI
Pour créer une paire de clés à l'aide d'Amazon EC2
  1. Pour générer la paire de clés et enregistrer la clé privée vers un fichier .pem, utilisez la commande create-key-pair comme suit.

    Pour --key-name, indiquez un nom pour la clé publique. Le nom peut inclure jusqu'à 255 caractères ASCII.

    Pour --key-type, spécifiez rsa ou ed25519. Si vous n'incluez pas le paramètre --key-type, une clé rsa est créée par défaut. Notez que les clés ED25519 ne sont pas prises en charge pour les instances Windows.

    Pour --key-format, spécifiez pem ou ppk. Si vous n'incluez pas le paramètre --key-format, un fichier pem est créé par défaut.

    --query "KeyMaterial" imprime le matériel de clé privée à la sortie.

    --output text > my-key-pair.pem enregistre le matériel de clé privée dans un fichier avec l'extension spécifiée. L'extension peut être .pem ou .ppk. La clé privée peut avoir un nom différent de la clé publique, mais pour faciliter son utilisation, utilisez le même nom.

    aws ec2 create-key-pair \ --key-name my-key-pair \ --key-type rsa \ --key-format pem \ --query "KeyMaterial" \ --output text > my-key-pair.pem
  2. Si vous prévoyez d'utiliser un client SSH sur un ordinateur macOS ou Linux pour vous connecter à votre instance Linux, utilisez la commande suivante pour définir les autorisations de votre fichier de clé privée afin d'être la seule personne autorisée à le lire.

    chmod 400 key-pair-name.pem

    Si vous ne définissez pas ces autorisations, vous ne pouvez pas vous connecter à votre instance à l'aide de cette paire de clés. Pour plus d'informations, consultez Erreur : fichier de clé privée non protégé.

PowerShell
Pour créer une paire de clés à l'aide d'Amazon EC2

Utilisez la commande AWS Tools for Windows PowerShell New-EC2KeyPair comme suit pour générer la clé et l'enregistrer dans un fichier .pem ou .ppk.

Pour -KeyName, indiquez un nom pour la clé publique. Le nom peut inclure jusqu'à 255 caractères ASCII.

Pour -KeyType, spécifiez rsa ou ed25519. Si vous n'incluez pas le paramètre -KeyType, une clé rsa est créée par défaut. Notez que les clés ED25519 ne sont pas prises en charge pour les instances Windows.

Pour -KeyFormat, spécifiez pem ou ppk. Si vous n'incluez pas le paramètre -KeyFormat, un fichier pem est créé par défaut.

KeyMaterial imprime le matériel de clé privée à la sortie.

Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem enregistre le matériel de clé privée dans un fichier avec l'extension spécifiée. L'extension peut être .pem ou .ppk. La clé privée peut avoir un nom différent de la clé publique, mais pour faciliter son utilisation, utilisez le même nom.

PS C:\> (New-EC2KeyPair -KeyName "my-key-pair" -KeyType "rsa" -KeyFormat "pem").KeyMaterial | Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem

Créer une paire de clés à l'aide de AWS CloudFormation

Lorsque vous créez une nouvelle paire de clés à l'aide de AWS CloudFormation, la clé privée est enregistrée dans un AWS Systems Manager Parameter Store. Le nom du paramètre a le format suivant :

/ec2/keypair/key_pair_id

Pour plus d'informations, veuillez consulter la rubrique AWS Systems Manager Parameter Store dans le Guide de l'utilisateur AWS Systems Manager.

Pour créer une paire de clés à l'aide de AWS CloudFormation
  1. Spécifiez la ressource AWS::EC2::KeyPair dans votre modèle.

    Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
  2. Utilisez la commande describe-key-pairs comme suit pour obtenir l'ID de la paire de clés.

    aws ec2 describe-key-pairs --filters Name=key-name,Values=new-key-pair --query KeyPairs[*].KeyPairId --output text

    Voici un exemple de sortie.

    key-05abb699beEXAMPLE
  3. Utilisez la commande get-parameter comme suit pour obtenir le paramètre de votre clé et enregistrer le contenu de la clé dans un fichier .pem.

    aws ssm get-parameter --name /ec2/keypair/key-05abb699beEXAMPLE --with-decryption --query Parameter.Value --output text > new-key-pair.pem
Autorisations IAM requises

Pour permettre à AWS CloudFormation de gérer les paramètres Parameter Store en votre nom, le rôle IAM endossé par AWS CloudFormation ou votre utilisateur doit disposer des autorisations suivantes :

  • ssm:PutParameter : accorde l'autorisation de créer un paramètre pour le matériel de clé privée.

  • ssm:DeleteParameter : autorise la suppression du paramètre utilisé pour stocker les éléments de clé privée. Cette autorisation est nécessaire, que la paire de clés ait été importée ou créée par AWS CloudFormation.

Lorsque AWS CloudFormation supprime une paire de clés créée ou importée par une pile, il réalise une vérification des autorisations pour déterminer si vous pouvez supprimer des paramètres, même si AWS CloudFormation crée un paramètre uniquement lorsque crée une paire de clés et non lorsqu'il en importe une. AWS CloudFormation réalise des tests pour obtenir l'autorisation requise à l'aide d'un nom de paramètre fabriqué qui ne correspond à aucun paramètre de votre compte. Par conséquent, vous pouvez voir un nom de paramètre fabriqué dans le message d'erreur AccessDeniedException.

Créer une paire de clés à l'aide d'un outil tiers et importer la clé publique dans Amazon EC2

Vous pouvez créer une paire de clés RSA ou ED25519 à l'aide d'un outil tiers, puis importer la clé publique dans Amazon EC2, au lieu d'utiliser Amazon EC2 pour créer une paire de clés.

Exigences relatives aux paires de clés
  • Types pris en charge : RSA et ED25519. Amazon EC2 n'accepte pas les clés DSA.

    Note

    Les clés ED25519 ne sont pas prises en charge pour les instances Windows.

  • Formats pris en charge :

    • Format de clé publique OpenSSH (le format dans ~/.ssh/authorized_keys). Si vous vous connectez avec SSH lorsque vous utilisez l'API EC2 Instance Connect, le format SSH2 est également pris en charge.

    • Le fichier de clé privée SSH doit être au format PEM ou PPK

    • Le format DER codé en base64 (RSA uniquement)

    • Le format de fichier de clé publique SSH tel que spécifié dans RFC 4716 (RSA uniquement)

  • Longueurs prises en charge : 1024, 2048 et 4096. Si vous vous connectez avec SSH lorsque vous utilisez l'API EC2 Instance Connect, les longueurs prises en charge sont 2 048 et 4096.

Pour créer une paire de clés à l'aide d'un outil tiers
  1. Générez une paire de clés avec un outil tiers de votre choix. Par exemple, vous pouvez utiliser ssh-keygen (outil fourni avec l'installation OpenSSH standard). Java, Ruby, Python, ainsi qu'un grand nombre d'autres langages de programmation fournissent également des bibliothèques standard pouvant être utilisées pour créer une paire de clés RSA ou ED25519.

    Important

    La clé privée doit être au format PEM ou PPK. Par exemple, utilisez ssh-keygen -m PEM pour générer la clé OpenSSH au format PEM.

  2. Enregistrez la clé publique dans un fichier local. Par exemple, ~/.ssh/my-key-pair.pub. L'extension du nom de fichier de ce fichier n'est pas importante.

  3. Enregistrez la clé privée dans un fichier local dont l'extension est .pem ou .ppk. Exemple : ~/.ssh/my-key-pair.pem ou ~/.ssh/my-key-pair.ppk.

    Important

    Enregistrez le fichier de clé privée en lieu sûr. Vous devez fournir le nom de votre clé publique lorsque vous lancez une instance, ainsi que la clé privée correspondante chaque fois que vous vous connectez à l'instance.

Après avoir créé la paire de clés, utilisez l'une des méthodes suivantes pour importer votre clé publique vers Amazon EC2.

Console
Pour importer la clé publique dans Amazon EC2
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, cliquez sur Key Pairs.

  3. Choisissez Import key pair (Importer une paire de clés).

  4. Pour Name (Nom), saisissez un nom descriptif pour la clé publique. Le nom peut inclure jusqu'à 255 caractères ASCII. Il ne peut pas inclure d'espaces de début ou de fin.

    Note

    Lorsque vous vous connectez à votre instance à partir de la console EC2, la console suggère ce nom pour le nom de votre fichier de clé privée.

  5. Choisissez Browse (Parcourir) pour accéder à votre clé publique et la sélectionner, ou collez le contenu de votre clé publique dans le champ Public key contents (Contenu de la clé publique).

  6. Choisissez Import key pair (Importer une paire de clés).

  7. Vérifiez que la clé publique que vous avez importée apparaît dans la liste des paires de clés.

AWS CLI
Pour importer la clé publique dans Amazon EC2

Utilisez la commande import-key-pair AWS CLI.

Pour vérifier que la paire de clés a été importée correctement

Utilisez la commande describe-key-pairs AWS CLI.

PowerShell
Pour importer la clé publique dans Amazon EC2

Utilisez la commande Import-EC2KeyPair AWS Tools for Windows PowerShell.

Pour vérifier que la paire de clés a été importée correctement

Utilisez la commande Get-EC2KeyPair AWS Tools for Windows PowerShell.