Come posso usare un'unica coppia di chiavi SSH per tutte le regioni AWS?

2 minuti di lettura
0

Desidero utilizzare la stessa coppia di chiavi SSH per accedere alle mie istanze Amazon Elastic Compute Cloud (Amazon EC2) in tutte le regioni AWS. Come posso farlo?

Breve descrizione

Per utilizzare un'unica coppia di chiavi SSH per tutte le regioni AWS, genera innanzitutto una chiave SSH pubblica da una chiave SSH privata. Quindi, importa la chiave in ciascuna delle tue regioni AWS.

Nota: Se ricevi errori durante l'esecuzione dei comandi dell'Interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente dell'Interfaccia della linea di comando AWS.

Risoluzione

Se non ne hai già una, crea una coppia di chiavi SSH.

Linux

1.    Genera un file di chiave SSH pubblica (.pub) dal file della chiave SSH privata (.pem):

$ ssh-keygen -y -f MyKeyPair.pem > $HOME/.ssh/id_rsa_MyKeyPair.pub

Nota: Sostituisci MyKeyPair.pem con il nome del tuo file.pem privato. Assicurati di lavorare su una shell (interprete di comandi) bash e di configurare l'Interfaccia della linea di comando AWS con un utente che disponga di un accesso valido.

2.    Esegui il seguente comando per impostare AWS_REGIONS:

$ AWS_REGIONS="$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)"

**Nota:**Se stai usando una shell (interprete di comandi) ZSH, abilita la suddivisione delle parole in modo che il comando for loop iteri correttamente il nome di ogni regione. Usa i seguenti comandi per abilitare la suddivisione delle parole:

$ setopt shwordsplit

3.    Esegui il seguente comando per importare la chiave SSH pubblica nelle regioni:

$ 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.    Genera un file di chiave SSH pubblica (.pub) dal file della chiave SSH privata (.pem):

Apri PuTTYgen.

Scegli Carica per caricare il file della tua chiave privata.

Scegli Salva chiave pubblica.

2.    Importa la chiave SSH pubblica nelle regioni AWS desiderate eseguendo i seguenti comandi:

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

Nota: Sostituisci MyKeyPair.pub con il nome del tuo file SSH pubblico.


Informazioni correlate

Riferimento dei comandi dell'Interfaccia della linea di comando AWS: import-key-pair

Endpoint dei servizi AWS

Cmdlet Import-EC2KeyPair

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa