Direkt zum Inhalt

Wie kann ich ein einziges SSH-Schlüsselpaar für alle meine AWS-Regionen verwenden?

Lesedauer: 2 Minute
0

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:

  1. 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.

  2. 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
  3. 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:

  1. 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.

  2. 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

AWS OFFICIALAktualisiert vor einem Jahr