Questo documento descrive come connettersi a un'istanza di una macchina virtuale (VM) tramite il relativo indirizzo IP interno utilizzando una VM host bastione. I bastion host forniscono un punto di accesso esterno a una rete Virtual Private Cloud (VPC) che contiene VM che non dispongono di indirizzi IP esterni. Quando utilizzi un bastion host, connettiti prima al bastion host e poi alla VM di destinazione.
La connessione a una VM utilizzando il relativo indirizzo IP interno è utile se la VM non ha un indirizzo IP esterno. Se la VM ha un indirizzo IP esterno, connettiti alla VM utilizzando il suo indirizzo IP esterno. Se devi connetterti a una VM che non ha indirizzi IP esterni e non puoi utilizzare un bastion host, esamina gli altri metodi elencati in Opzioni di connessione per le VM solo interne.
Sistemi operativi supportati
Questi metodi di connessione sono supportati per tutte le immagini Linux pubbliche disponibili su Compute Engine. Per le immagini Fedora CoreOS, devi configurare l'accesso SSH prima di poter utilizzare questi metodi.
Crea una VM bastion host
Crea una VM Compute Engine all'interno della rete interna del cluster privato per fungere da bastion host in grado di gestire il cluster.
Console
Crea una VM bastion host nel seguente modo:
Nella console Google Cloud, vai alla pagina Crea un'istanza.
- Specifica i seguenti dettagli della VM:
- Nome: il nome della VM.
- Tipo di macchina: un tipo di macchina. Scegli un tipo di macchina di piccole dimensioni, ad esempio
e2-micro
. - Disco di avvio Sistema operativo: qualsiasi sistema operativo Linux.
Espandi la sezione Opzioni avanzate e segui questi passaggi:
Nella sezione Interfacce di rete, seleziona la stessa rete e la stessa sottorete VPC della VM di destinazione.
Per Indirizzo IPv4 esterno, seleziona Temporaneo.
Per creare e avviare la VM, fai clic su Crea.
gcloud
Crea una VM bastion host utilizzando il
comando gcloud compute instances create
:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Crea la VM bastion host eseguendo il seguente comando:
gcloud compute instances create VM_NAME \ --zone=ZONE \ --machine-type=e2-micro \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --network-interface=subnet=SUBNET,address=""
Sostituisci quanto segue:
VM_NAME
: il nome della VM.ZONE
: la zona della VM.IMAGE_FAMILY
: una famiglia di immagini Linux.IMAGE_PROJECT
: il progetto di immagini contenente l'immagine.SUBNET
: la stessa subnet VPC della VM di destinazione. Se utilizzi il VPC predefinito, il valore diSUBNET
èdefault
.
Connettiti alle VM
Per connetterti a una VM, completa i passaggi in una delle seguenti schede.
gcloud
Connettiti a una VM utilizzando SSH tramite un bastion host eseguendo il
comando gcloud compute ssh
:
Connettiti alla VM bastion host eseguendo il seguente comando:
gcloud compute ssh BASTION_NAME
Sostituisci
BASTION_NAME
con il nome della VM bastion host.Dalla VM bastion host, connettiti alla VM principale tramite il relativo indirizzo IP interno utilizzando il flag
--internal-ip
:gcloud compute ssh VM_NAME \ --internal-ip
Sostituisci
VM_NAME
con il nome della VM a cui vuoi connetterti.
Client OpenSSH
Per connetterti a una VM tramite un bastion host da un client OpenSSH:
- Aggiungi una chiave SSH alla VM, se non lo hai ancora fatto.
Nella console Google Cloud, vai alla pagina Istanze VM e individua l' indirizzo IP esterno della VM di bastion host.
- Apri un terminale sulla tua workstation.
Connettiti alla VM bastion host eseguendo il seguente comando:
ssh -A -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
Sostituisci quanto segue:
PATH_TO_PRIVATE_KEY
: il percorso del file della chiave privata SSH corrispondente alla chiave pubblica che hai aggiunto alla VM.USERNAME
: il tuo nome utente. Se gestisci le chiavi SSH nei metadati, il nome utente è quello specificato quando hai creato la chiave SSH. Per gli account OS Login, il nome utente è definito nel tuo profilo Google. Ad esempio,cloudysanfrancisco_example_com
ocloudysanfrancisco
.-
EXTERNAL_IP
: l'indirizzo IP esterno della VM.
Dalla VM bastion host, connettiti tramite l'indirizzo IP interno di una VM utilizzando il seguente comando:
ssh USERNAME@INTERNAL_IP
Sostituisci quanto segue:
USERNAME
: il tuo nome utente. Se gestisci le chiavi SSH nei metadati, il nome utente è quello specificato al momento della creazione della chiave SSH. Per gli account OS Login, il nome utente è definito nel tuo profilo Google. Ad esempio,cloudysanfrancisco_example_com
ocloudysanfrancisco
.INTERNAL_IP
: l'indirizzo IP interno della VM.
App PuTTY
Per connetterti a una VM tramite un bastion host utilizzando PuTTY:
- Aggiungi una chiave SSH alla VM bastion host se non l'hai ancora fatto.
- Se la tua workstation non ha già installato l'app PuTTY, scarica i file del pacchetto PuTTY.
Nella console Google Cloud, vai alla pagina Istanze VM e individua l'indirizzo IP interno della VM a cui vuoi connetterti.
- Apri l'app PuTTY. Si apre una finestra di configurazione della connessione.
Nel campo
Host Name
, inserisci il nome utente associato alla chiave SSH e l'indirizzo IP esterno della VM a cui vuoi connetterti. Utilizza il formato seguente:USERNAME@EXTERNAL_IP
Sostituisci quanto segue:
USERNAME
: il tuo nome utente. Se gestisci le chiavi SSH nei metadati, il nome utente è quello specificato al momento della creazione della chiave SSH. Per gli account OS Login, il nome utente è definito nel tuo profilo Google. Ad esempio,cloudysanfrancisco_example_com
ocloudysanfrancisco
.-
EXTERNAL_IP
: l'indirizzo IP esterno della VM.
- Nel menu Categoria, vai a Connessione > SSH > Auth.
- Nel campo File della chiave privata per l'autenticazione, seleziona il file della chiave SSH privata corrispondente alla chiave pubblica che hai aggiunto alla VM.
- Nella sezione Parametri di autenticazione, seleziona Consenti inoltro dell'agente.
- Fai clic su Apri per connetterti alla VM bastion host.
Dalla VM bastion host, connettiti tramite l'indirizzo IP interno di una VM utilizzando il seguente comando:
ssh USERNAME@INTERNAL_IP
Sostituisci quanto segue:
USERNAME
: il tuo nome utente. Se gestisci le chiavi SSH nei metadati, il nome utente è quello specificato al momento della creazione della chiave SSH. Per gli account OS Login, il nome utente è definito nel tuo profilo Google. Ad esempio,cloudysanfrancisco_example_com
ocloudysanfrancisco
.INTERNAL_IP
: l'indirizzo IP interno della VM.
Risoluzione dei problemi
Per trovare metodi per diagnosticare e risolvere le connessioni SSH non riuscite, consulta la sezione Risoluzione dei problemi relativi a SSH.
Passaggi successivi
- Scopri come gestire l'accesso alle VM.
- Scopri come trasferire file alle VM.
- Scopri come funzionano le connessioni SSH alle VM Linux su Compute Engine.