Ich möchte dasselbe SSH-Schlüsselpaar für den Zugriff auf meine Amazon Elastic Compute Cloud (Amazon EC2)-Instanzen in allen meinen AWS-Regionen verwenden. Wie kann ich das tun?
Kurzbeschreibung
Um ein einzelnes SSH-Schlüsselpaar für alle Ihre AWS-Regionen zu verwenden, generieren Sie zunächst einen öffentlichen SSH-Schlüssel aus einem privaten SSH-Schlüssel. Importieren Sie dann den Schlüssel in jede Ihrer AWS-Regionen.
**Hinweis:**Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden.
Auflösung
Falls Sie noch keins haben, erstellen Sie ein SSH-Schlüsselpaar.
Linux
- Generieren Sie eine öffentliche SSH-Schlüsseldatei (.pub) aus der Datei mit dem privaten SSH-Schlüssel (.pem):
$ ssh-keygen -y -f MyKeyPair.pem > $HOME/.ssh/id_rsa_MyKeyPair.pub
**Hinweis:**Ersetzen Sie ** MyKeyPair.pem durch den Namen ** Ihrer privaten.pem-Datei. Stellen Sie sicher, dass Sie an einer Bash-Shell arbeiten und die AWS-CLI mit einem Benutzer konfigurieren, der über gültigen Zugriff verfügt.
- Führen Sie den folgenden Befehl aus, um die ** AWS\ _REGIONS festzulegen**:
$ AWS_REGIONS="$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)"
**Hinweis:**Wenn Sie eine ZSH-Shell verwenden, aktivieren Sie die Wortaufteilung, damit der ** Befehl ** for loop jeden Regionsnamen korrekt wiederholt. Verwenden Sie die folgenden Befehle, um die Wortteilung zu aktivieren:
$ setopt shwordsplit
- Führen Sie den folgenden Befehl aus, um den öffentlichen SSH-Schlüssel in die Regionen zu importieren:
$ 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
- Generieren Sie eine öffentliche SSH-Schlüsseldatei (.pub) aus der Datei mit dem privaten SSH-Schlüssel (.pem):
Öffnen Sie PuTTYgen.
Wählen Sie ** Laden**, um Ihre private Schlüsseldatei zu laden.
Wählen Sie „Öffentlichen Schlüssel ** speichern**“.
- Importieren Sie den öffentlichen SSH-Schlüssel in die gewünschten AWS-Regionen, indem Sie die folgenden Befehle ausführen:
$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}
**Hinweis:**Ersetzen Sie ** MyKeyPair.pub ** durch Ihren öffentlichen SSH-Dateinamen.
Ähnliche Informationen
AWS-CLI-Befehlsreferenz — Importschlüsselpaar
AWS-Serviceendpunkte
Import-EC2-KeyPair-Cmdlet