Quali metodi posso usare per connettermi alla mia istanza EC2 Linux?

8 minuti di lettura
0

Desidero sapere quali opzioni sono disponibili per la connessione alla mia istanza Amazon Elastic Compute Cloud (Amazon EC2) Linux.

Breve descrizione

Esistono quattro metodi per connettersi alle istanze Amazon EC2 Linux:

  • Secure Shell (SSH)
  • Console seriale EC2 per istanze Linux
  • Session Manager, una funzionalità di AWS Systems Manager
  • Amazon EC2 Instance Connect

Risoluzione

SSH

Limitazioni:

Importante: assicurati di aver completato tutti i prerequisiti prima di connetterti alla tua istanza.

Metodo 1: usa una finestra terminale

Apri una finestra terminale (Linux o macOS), quindi esegui il comando SSH per connetterti all'istanza.

Usa il nome di dominio pubblico:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

Usa l'indirizzo IPv4 pubblico:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

Usa l'indirizzo IPv6 pubblico:

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

Per ulteriori informazioni, consulta Connessione all'istanza Linux tramite un client SSH.

Metodo 2: usa OpenSSH da Windows

1.    Esegui il comando seguente per utilizzare PowerShell e installare OpenSSH per Windows.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Nota: per installare OpenSSH, è necessario eseguire PowerShell come amministratore.

2.    Esegui il comando SSH per connetterti alla tua istanza:

Usa il nome di dominio pubblico:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

Usa l'indirizzo IPv4 pubblico:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

Usa l'indirizzo IPv6 pubblico:

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

Metodo 3: usa PuTTY da Windows

1.     Usa PuTTYgen per convertire la tua chiave privata.

2.    Usa PuTTY per connetterti alla tua istanza.

3.    Avvia PuTTY.

4.    In Categoria, scegli Sessione.

5.    In Nome host, inserisci la combinazione nome utente/nome host:

Usa il nome di dominio pubblico:

instance-user-name@instance-public-dns-name

Usa l'indirizzo IPv4 pubblico:

instance-user-name@instance-IPv4-address

Usa l'indirizzo IPv6 pubblico:

instance-user-name@instance-IPv6-address

6.    Assicurati che il valore della Porta corrisponda alla porta del servizio SSH (che per impostazione predefinita è 22).

7.    Per Tipo di connessione, scegli SSH.

8.    In Categoria, espandi Connessione, espandi SSH, quindi scegli Autenticazione.

9.    Scegli Sfoglia, quindi seleziona il file .ppk che hai generato per la tua coppia di chiavi.

10.    Scegli Apri.

Nota: la prima volta che ti connetti a un'istanza, dovrai confermare l'attendibilità dell'host remoto.

Console seriale EC2 per istanze Linux

La console seriale EC2 stabilisce una connessione seriale alle istanze EC2 che consente di risolvere i problemi di avvio e di connettività di rete.

Limitazioni:

  • È supportata una sola connessione alla console seriale attiva per istanza.
  • Tra una sessione e l'altra deve esserci un intervallo di almeno 30 secondi.
  • Durante la sessione della console seriale EC2 si verifica un leggero calo della velocità di trasmissione effettiva dell'istanza.
  • Le istanze Xen non sono supportate.
  • La console seriale EC2 non è supportata per Zone di Wavelength e AWS Outposts.
  • La console seriale EC2 è supportata solo in alcune Regioni AWS.

Importante: assicurati di avere completato tutti i prerequisiti prima di connetterti utilizzando la console seriale E2.

Metodo 1: usa il client basato su browser

1.    Apri la console EC2.

2.    Seleziona Istanze.

3.    Seleziona la tua istanza, poi seleziona Azioni, Monitoraggio e risoluzione dei problemi, Console seriale EC2, Connetti. Oppure scegli l'istanza, quindi seleziona Connetti, Console seriale EC2, Connetti.

4.    Quando si apre la finestra terminale nel browser, premi Invio. Se viene visualizzata una richiesta di accesso, inserisci il nome utente basato su password, quindi premi Invio.

Alla richiesta della password, inserisci la password e poi premi Invio.

Metodo 2: usa SSH

1.    Inserisci la tua chiave pubblica SSH nell'istanza per avviare una sessione della console seriale:

aws ec2-instance-connect send-serial-console-ssh-public-key \
    --instance-id i-0123456789EXAMPLE \
    --serial-port 0 \
    --ssh-public-key file://my_key.pub \
    --region us-east-1

Nota: nel comando di esempio precedente, assicurati di aggiungere il prefisso file:// al percorso della chiave pubblica SSH.

2.    Usa la tua chiave privata per connetterti alla console seriale:

ssh -i my_key i-0123456789EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws

3.    (Facoltativo) Verifica l'impronta digitale. Confronta l'impronta digitale che appare la prima volta che ci si connette alla console seriale con quella univoca della console seriale EC2 per la Regione.

4.    Se viene visualizzato un messaggio, inserisci il nome utente basato su password, quindi premi Invio.

5.    Alla richiesta della password, inserisci la password e poi premi Invio.

Session Manager

Session Manager permette di accedere in modo sicuro ai nodi gestiti senza aprire porte in entrata o gestire una chiave SSH. Per eseguire l’audit delle sessioni di Session Manager puoi utilizzare gli eventi di AWS CloudTrail, mentre le policy AWS Identity and Access Management (IAM) consentono di controllare le sessioni.

Limitazioni:

  • non puoi trasferire file con Session Manager.
    Nota: utilizza invece un bucket S3 e l'interfaccia della linea di comando AWS per scambiare dati.
  • La registrazione non è disponibile per le sessioni di Session Manager che si connettono tramite inoltro della porta o SSH. Questo perché SSH crittografa tutti i dati della sessione, mentre Session Manager funge solo da tunnel per le connessioni SSH.
  • Non tutti i sistemi operativi supportano AWS Systems Manager. Per ulteriori informazioni, consulta Supported operating systems.

Importante: assicurati di avere completato tutti i prerequisiti prima di utilizzare Session Manager per connetterti alla tua istanza.

È consigliabile creare endpoint VPC da utilizzare con Systems Manager:

  1. Apri la console di Systems Manager.
  2. Scegli Session Manager.
  3. Scegli Avvia sessione.
  4. (Facoltativo) Inserisci una descrizione della sessione nel campo Motivo della sessione.
  5. Seleziona il nodo gestito a cui desideri connetterti, quindi scegli Avvia sessione per avviare immediatamente la sessione.
    -oppure-
    (Facoltativo) Utilizza un documento personalizzato per configurare le impostazioni della sessione, tra cui durata, crittografia e registrazione:
    Per Opzioni sessione, scegli Avanti.
    Per Documento di sessione, seleziona il documento che desideri eseguire all'avvio della sessione. Se il documento supporta i parametri di runtime, puoi inserire uno o più valori separati da virgole in ogni campo pertinente.
    Seleziona Avanti.
    Scegli Avvia sessione.

Uso della console EC2 per connettersi

  1. Apri la console EC2.
  2. Scegli Istanze.
  3. Seleziona l'istanza, quindi scegli Connetti.
  4. Per il Metodo di connessione, seleziona Gestione delle sessioni.
  5. Scegli Connetti.

Uso dell’interfaccia della linea di comando AWS per connettersi

Nota:

Esegui il seguente comando:

aws ssm start-session --target instance-id

Uso di SSH su Session Manager per connettersi

Requisiti:

  • È necessario configurare le istanze gestite dal target per supportare le connessioni SSH.
  • La versione di AWS Systems Manager Agent (AWS SSM Agent) in esecuzione deve essere 2.3.672.0 o successiva.
  • Devi avere accesso al certificato Privacy Enhanced Mail (PEM) e puoi utilizzare l'account a esso associato per connetterti. Ad esempio, l'account utente "ubuntu" per i nodi gestiti da Ubuntu.

Per utilizzare SSH per avviare una sessione, esegui il seguente comando:

ssh -i /path/my-key-pair.pem username@instance-id,/code>

Amazon EC2 Instance Connect

EC2 Instance Connect consente l'accesso sicuro all'istanza tramite SSH. EC2 Instance Connect offre diverse opzioni per connettersi all'istanza senza condividere le chiavi SSH.

Limitazioni:

  • EC2 Instance Connect offre un supporto limitato per le distribuzioni Linux.
  • Le impostazioni AuthorizedKeysCommand e AuthorizedKeysCommandUser non devono essere già configurate.
  • EC2 Instance Connect non è supportato nelle zone locali.
  • Un indirizzo IPv4 pubblico è obbligatorio per la connessione quando si utilizza la console Amazon EC2.
  • EC2 Instance Connect non supporta l'utilizzo di un indirizzo IPv6 per la connessione.

Importante: assicurati di avere completato tutti i prerequisiti prima di utilizzare Amazon EC2 Instance Connect.

Uso della console Amazon EC2 per connettersi (solo per le istanze con indirizzo pubblico IPv4)

1.    Apri la console Amazon EC2.

2.    Nel riquadro di navigazione, scegli Istanze.

3.    Seleziona l'istanza, quindi scegli Connetti.

4.    Scegli EC2 Instance Connect.

5.    Verifica il nome utente, quindi scegli Connetti per aprire una finestra terminale.

Uso della chiave e del client SSH per connettersi

Nota: è necessario installare l'interfaccia della linea di comando EC2 Instance Connect sull'istanza a cui ci si sta connettendo.

1.    Esegui il seguente comando per generare nuove chiavi SSH private e pubbliche:

ssh-keygen -t rsa -f my_key

2.    Invia la tua chiave pubblica SSH all'istanza:

Amazon Linux:

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Amzn \
    --instance-os-user ec2-user \
    --ssh-public-key file://my_key.pub

Ubuntu:

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Ubuntu \
    --instance-os-user ubuntu\
    --ssh-public-key file://my_key.pub

Nota: nel comando di esempio precedente, assicurati di aggiungere il prefisso file:// al percorso della chiave pubblica SSH.

3.    Usa la tua chiave privata per connetterti all'istanza:

Amazon Linux:

ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@instance-public-dns-name

Ubuntu:

ssh -o "IdentitiesOnly=yes" -i my_key ubuntu@instance-public-dns-name

Nota: il nome DNS pubblico standard di un'istanza Amazon EC2 è simile a ec2-12-34-56-78.us-west-2.compute.amazonaws.com. Il nome è composto dal dominio AWS, dal servizio ("compute", in questo esempio), dalla Regione e da una forma di indirizzo IP pubblico.

Uso dell'interfaccia della linea di comando EC2 Instance per connettersi

Amazon Linux:

$mssh i-0123456789Amzn

Ubuntu:

$mssh ubuntu@i-0123456789Ubuntu
AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa