Come posso usare un host bastione per connettermi in modo sicuro alla mia istanza EC2 Linux in una sottorete privata?

5 minuti di lettura
0

Desidero utilizzare un host bastione per connettermi alla mia istanza Linux Amazon Elastic Compute Cloud (Amazon EC2) in esecuzione in una sottorete privata.

Breve descrizione

Le istanze Linux EC2 utilizzano file di coppie di chiavi SSH come metodo di autenticazione predefinito. I file di coppie di chiavi eliminano la necessità di nomi utente e password SSH. Per mantenere un ambiente sicuro, non memorizzare mai le chiavi private sull'host bastione. Per connetterti utilizzando un host bastione, usa l'inoltro ssh-agent sul client. L'ssh-agent consente a un amministratore di connettersi dall'host bastione a un'altra istanza senza memorizzare la chiave privata sull'host bastione.

Risoluzione

Prerequisiti

  • L'host bastione deve essere presente nella sottorete pubblica del VPC per poter accedere all'host tramite Internet.
  • Configura il gruppo di sicurezza dell'istanza Linux privata in modo che accetti connessioni SSH solo dall'host bastione.
  • Configura il gruppo di sicurezza dell'host bastione per consentire connessioni SSH (TCP/22) solo da indirizzi IP noti e affidabili.

Configura l'inoltro ssh-agent su un client macOS o Linux

Nota: Il pacchetto openssh-client è installato di default sulla maggior parte delle distribuzioni Linux e macOS e contiene l'ssh-agent.

1.    Esegui il seguente comando per avviare l'ssh-agent in background. L'ssh-agent archivia le tue chiavi SSH in memoria.

#  eval $(ssh-agent)

2.    Esegui il seguente comando per aggiungere la chiave SSH all'ssh-agent:

# ssh-add "/path/to/key.pem"

3.    Esegui il seguente comando per verificare che le chiavi siano state aggiunte all'ssh-agent:

# ssh-add -l

4.    Esegui il seguente comando per connetterti all'host bastione. Nel comando seguente, sostituisci User e Bastion_Host_****IP_address con i valori corretti per il tuo caso d'uso.

# ssh -A User@Bastion_Host_IP_Address

Nota: Assicurati di includere il flag \ -A nel comando precedente. Se non aggiungi il flag -A, l'inoltro dell'ssh-agent non funzionerà perché le chiavi non vengono aggiunte alla memoria. Dopo aver aggiunto le chiavi SSH alla memoria, non è necessario specificare la chiave SSH stessa utilizzando il flag -i. Questo perché SSH tenta automaticamente di utilizzare tutte le chiavi SSH salvate nell'ssh-agent.

5.    Dopo la connessione all'host bastione, esegui il seguente comando per connetterti all'istanza Linux privata. Nel comando seguente, sostituisci User e Private_instance_IP_address con i valori corretti per il tuo caso d'uso.

# ssh User@Private_instance_IP_address

Se la chiave privata corrispondente per l'istanza privata è stata caricata nell'ssh-agent, la connessione ha esito positivo.

Configurare l'inoltro dell'ssh-agent su un client Windows

Puoi connetterti a istanze Linux VPC da Windows utilizzando PuTTY (un client SSH gratuito per Windows). Per ottenere la funzionalità di agente SSH, usa Pageant (un agente di autenticazione SSH). Pageant conserva le tue chiavi private in memoria. Quando Pageant è installato, puoi utilizzare l'opzione d'inoltro dell'agente in PuTTY per connetterti a istanze in sottoreti private.

1.    Scarica e installa PuTTY e Pageant nella pagina di download di PuTTY.

2.    PuTTY non supporta nativamente il formato PEM per le chiavi SSH. Per connetterti alla tua istanza utilizzando PuTTY, usa PuTTYgen per convertire la tua chiave privata dal formato PEM al formato PuTTY. PuTTYgen è disponibile nella pagina di download di PuTTY. Per ulteriori informazioni, consulta Convertire la chiave privata tramite PuTTYgen.

3.    Apri Pageant e aggiungi le chiavi private. Per importare la chiave in formato PuTTY in Pageant, avvia l'applicazione Pageant dal menu Start. Per impostazione predefinita, Pageant si apre ridotto a icona nella barra delle applicazioni.

Nota: Se l'icona Pageant non è visibile nella barra delle applicazioni, utilizza le impostazioni della barra delle applicazioni per aggiungerla. Per ulteriori informazioni, consulta Personalizzare l'area di notifica della barra delle applicazioni sul sito Web support.microsoft.com

4.    Per aggiungere le tue chiavi SSH, fai clic con il pulsante destro del mouse sull'icona Pageant nella barra delle applicazioni, quindi scegli Aggiungi chiave. Per visualizzare la chiave aggiunta, fai clic con il pulsante destro del mouse sull'icona Pageant nella barra delle applicazioni, quindi scegli Visualizza chiavi.

5.    Completa i seguenti passaggi per avviare una sessione SSH PuTTY e attiva Consenti l'inoltro dell'agente:

  • Dal menu Start, scegli Tutti i programmi, PuTTY, PuTTY.
  • Nel riquadro Categoria, scegli Sessione.
  • Nel campo Nome host, esegui una delle seguenti operazioni:
    Per connetterti utilizzando il nome DNS pubblico della tua istanza, inserisci user-name@instance-public-dns.
    Per connetterti utilizzando l'indirizzo IPv4 della tua istanza, inserisci user-name@instance-IPv4-address.
  • Seleziona Tipo di connessione, SSH e assicurati che il valore della porta sia 22.
  • Nel riquadro Categoria, espandi Connessione, SSH, quindi seleziona Autenticazione.
  • Scegli Consenti l'inoltro dell'agente.
  • Scegli Apri.

6.    Dall'host bastione puoi connetterti a qualsiasi istanza del VPC senza avere la chiave privata SSH sull'host bastione. Usa il comando seguente per connetterti ad altre istanze. Nel comando seguente, sostituisci User e Private_instance_IP_address con i valori corretti per il tuo caso d'uso.

# ssh User@Private_instance_IP_address

Se la chiave privata corrispondente all'istanza privata è caricata in Pageant, la connessione ha esito positivo.

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa