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

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

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

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

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren