Comment utiliser une seule paire de clés SSH pour toutes mes Régions AWS ?

Lecture de 3 minute(s)
0

Je souhaite utiliser la même paire de clés SSH pour accéder à mes instances Amazon Elastic Compute Cloud (Amazon EC2) dans toutes mes régions AWS. Comment puis-je procéder ?

Brève description

Pour utiliser une seule paire de clés SSH pour toutes vos régions AWS, commencez par générer une clé SSH publique à partir d'une clé SSH privée. Importez ensuite la clé dans chacune de vos régions AWS.

Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de ligne de commande AWS (AWS CLI), assurez-vous d'utiliser la version la plus récente d'AWS CLI.

Résolution

Si vous n'en avez pas déjà une, créez une paire de clés SSH.

Linux

1.    Générez un fichier de clé SSH publique (.pub) à partir du fichier de clé SSH privée (.pem) :

$ ssh-keygen -y -f MyKeyPair.pem > $HOME/.ssh/id_rsa_MyKeyPair.pub

Remarque : remplacez MyKeyPair.pem par le nom de votre fichier .pem privé. Assurez-vous que vous travaillez sur un shell Bash et que l'interface de ligne de commande AWS est configurée avec un utilisateur disposant d'un accès valide.

2.    Exécutez la commande suivante pour définir AWS_REGIONS:

$ AWS_REGIONS="$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)"

Remarque : Si vous utilisez un shell ZSH, activez le fractionnement de mots afin que la commande for loop itère correctement chaque nom de région. Utilisez les commandes suivantes pour activer le fractionnement de mots :

$ setopt shwordsplit

3.    Exécutez la commande suivante pour importer la clé SSH publique dans les régions :

$ for each_region in ${AWS_REGIONS} ; do aws ec2 import-key-pair --key-name MyKeyPair --public-key-material fileb://$HOME/.ssh/id_rsa_MyKeyPair.pub --region $each_region ; done

Windows

1.    Générez un fichier de clé SSH publique (.pub) à partir du fichier de clé SSH privée (.pem) :

Ouvrez PuTTYgen.

Choisissez Load (Charger) pour charger votre fichier de clé privée.

Choisissez Save public key (Enregistrer la clé publique).

2.    Importez la clé SSH publique dans les régions AWS souhaitées en exécutant les commandes suivantes :

$PubFile = Get-Content .\MyKeyPair.pub -raw
$Key = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($PubFile))
foreach ($Region in (Get-AWSRegion).Region) {Import-EC2KeyPair -KeyName MyKeyPair -PublicKeyMaterial $Key -Region $Region}

Remarque : remplacez MyKeyPair.pub par votre nom de fichier SSH public.


Informations connexes

Référence des commandes de l'interface de ligne de commande AWS : import-key-pair

Points de terminaison de service AWS

Applet de commande Import-EC2KeyPair

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans