Ich möchte dasselbe SSH-Schlüsselpaar verwenden, um auf meine Amazon Elastic Compute Cloud (Amazon EC2)-Instances in allen meinen AWS-Regionen zuzugreifen.
Behebung
**Anmerkung:**Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, finden Sie weitere Informationen unter Troubleshoot AWS CLI errors. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.
Wenn Sie noch kein EC2-SSH-Schlüsselpaar haben, erstellen Sie eines.
Um das SSH-Schlüsselpaar für den Zugriff auf Ihre Instances in all Ihren Regionen zu verwenden, führen Sie das folgende Verfahren für Ihr Betriebssystem aus.
Linux
Führen Sie die folgenden Schritte aus:
-
Führen Sie den folgenden Befehl aus, um eine öffentliche SSH-Schlüsseldatei (.pub) aus der privaten SSH-Schlüsseldatei (.pem) zu generieren:
$ ssh-keygen -y -f MyKeyPair.pem > $HOME/.ssh/id_rsa_MyKeyPair.pub
**Anmerkung:**Ersetzen Sie MyKeyPair.pem durch den Namen Ihrer privaten.pem-Datei. Stellen Sie sicher, dass Sie mit einer Bash-Shell arbeiten und dass Sie die AWS-CLI mit einem Benutzer konfigurieren, der über gültigen Zugriff verfügt.
-
Um die Regionen festzulegen, führen Sie den Befehl describe-regions aus:
$ AWS_REGIONS="$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)"
**Anmerkung:**Wenn Sie eine ZSH-Shell verwenden, führen Sie den folgenden Befehl aus, um die Wortaufteilung zu aktivieren, sodass der Befehl for loop jeden Regionsnamen korrekt iteriert:
$ setopt shwordsplit
-
Um das öffentliche SSH-Schlüsselpaar in die Regionen zu importieren, führen Sie den Befehl import-key-pair aus:
$ 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
Führen Sie die folgenden Schritte aus:
-
Gehen Sie wie folgt vor, um eine öffentliche SSH-Schlüsseldatei (.pub) aus der privaten SSH-Schlüsseldatei (.pem) zu generieren:
Öffnen Sie PuTTYgen.
Wählen Sie Laden, um Ihre private Schlüsseldatei zu laden.
Wählen Sie Öffentlichen Schlüssel speichern.
-
Führen Sie den folgenden Befehl aus, um das öffentliche SSH-Schlüsselpaar in die Regionen zu importieren:
$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}
**Anmerkung:**Ersetzen Sie ** MyKeyPair.pub ** durch Ihren öffentlichen SSH-Dateinamen.
Ähnliche Informationen
AWS-Serviceendpunkte
Import-EC2-KeyPair-Cmdlet