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.
Résolution
**Remarque :](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-troubleshooting.html) Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section **Résoudre les erreurs AWS CLI[. Vérifiez également que vous utilisez la version la plus récente de l'AWS CLI.
Si vous ne possédez pas encore de paire de clés SSH EC2, créez-en une.
Pour utiliser la paire de clés SSH afin d'accéder à vos instances dans toutes vos régions, procédez comme suit pour votre système d'exploitation.
Linux
Procédez comme suit :
-
Pour générer un fichier de clé SSH publique (.pub) à partir du fichier de clé SSH privée (.pem), exécutez la commande suivante :
$ 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 vous configurez l'AWS CLI avec un utilisateur disposant d'un accès valide.
-
Pour définir les régions, exécutez la commande describe-regions :
$ AWS_REGIONS="$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)"
Remarque : Si vous utilisez un shell ZSH, exécutez la commande suivante pour activer le fractionnement des mots afin que la commande for loop itère correctement chaque nom de région :
$ setopt shwordsplit
-
Pour importer la paire de clés SSH publiques dans les régions, exécutez la commande import-key-pair :
$ 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
Procédez comme suit :
-
Pour générer un fichier de clé SSH publique (.pub) à partir du fichier de clé SSH privée (.pem), procédez comme suit :
Ouvrez PuTTYgen.
Choisissez Load pour charger votre fichier de clé privée.
Choisissez Save public key pour enregistrer la clé publique.
-
Pour importer la paire de clés SSH publiques dans les régions, exécutez la commande suivante :
$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 le nom de votre fichier SSH public.
Informations connexes
Points de terminaison des services AWS
Import-EC2KeyPair Cmdlet