Questo documento descrive come connettersi a un'istanza di una macchina virtuale (VM) tramite il suo indirizzo IP interno utilizzando l'inoltro TCP di Identity-Aware Proxy (IAP).
L'inoltro TCP IAP consente di stabilire un tunnel criptato da cui inoltrare le connessioni SSH alle VM. Quando ti connetti a una VM che utilizza IAP, IAP esegue il wrapping della connessione SSH all'interno di HTTPS prima di inoltrare la connessione alla VM. Quindi, IAP controlla se disponi delle autorizzazioni IAM richieste e, in caso affermativo, concede l'accesso alla VM.
Se devi connetterti a una VM che non ha indirizzi IP esterni e non puoi utilizzare IAP, rivedi gli altri metodi elencati in Opzioni di connessione per VM solo interne.
Prima di iniziare
- Crea una regola firewall per abilitare le connessioni da IAP.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Nella console Google Cloud, vai alla pagina Istanze VM.
- Nell'elenco delle istanze di macchine virtuali, fai clic su SSH nella riga dell'istanza a cui vuoi connetterti.
Connettiti alla VM eseguendo questo comando:
gcloud compute ssh VM-NAME \ --tunnel-through-iap
-
Se non l'hai ancora fatto, installa IAP Desktop sulla tua workstation.
-
Apri IAP Desktop. Si apre la finestra Aggiungi progetti.
-
Quando richiesto, accedi utilizzando l'Account Google che ha accesso al progetto con le VM a cui vuoi connetterti.
-
Nella finestra Aggiungi progetti, inserisci l'ID o il nome del progetto che contiene le VM a cui vuoi connetterti.
-
Nella finestra Esplora progetto, fai di nuovo clic con il tasto destro del mouse sul nome della VM e seleziona Connetti per connetterti alla VM.
- Se non l'hai ancora fatto, aggiungi una chiave SSH alla VM.
- Se sulla workstation non è già installata l'app PuTTY, scarica i file dei pacchetti PuTTY.
Nella console Google Cloud, vai alla pagina Istanze VM e trova il nome 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 il nome della VM a cui vuoi connetterti. Utilizza il formato seguente:USERNAME@VM_NAME
Sostituisci quanto segue:
USERNAME
: il tuo nome utente. Se gestisci le chiavi SSH nei metadati, il nome utente è quello che hai specificato quando hai creato la chiave SSH. Per gli account OS Login, il nome utente viene definito nel profilo Google. ad esempiocloudysanfrancisco_example_com
ocloudysanfrancisco
.-
NAME
: il nome della VM.
- Nel menu Categoria, vai a Connessione > SSH > Autorizzazione.
- Nel campo File di chiave privata per l'autenticazione, seleziona il file di chiave SSH privata corrispondente alla chiave pubblica che hai aggiunto alla VM.
- Nel menu Categoria, vai a Connessione > Proxy.
- Nella sezione Tipo proxy, seleziona Locale.
Nel campo Comando Telnet o comando proxy locale, inserisci il seguente comando:
gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome della VM a cui vuoi connetterti.PORT_NUMBER
: la porta su cui viene eseguito il daemon sshd. Il valore predefinito diPORT_NUMBER
è22
.PROJECT_ID
: il progetto che ospita la VM a cui vuoi connetterti.ZONE
: la zona in cui si trova la VM.
- Fai clic su Apri per connetterti alla VM.
- 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.
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.
Connettiti alle VM
Per connetterti a una VM, completa i passaggi in una delle schede seguenti.
Console
Esegui il tunnel delle connessioni SSH tramite l'indirizzo IP interno di una VM utilizzando SSH nel browser:
gcloud
Esegui il tunnel delle connessioni SSH tramite l'indirizzo IP interno di una VM utilizzando il comando
gcloud compute ssh
con il flag--tunnel-through-iap
: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.
Sostituisci
VM_NAME
con il nome della VM a cui vuoi connetterti.Computer IAP
Per connetterti a una VM utilizzando un computer IAP, segui questi passaggi:
App PuTTY
Esegui il tunnel delle connessioni SSH tramite l'indirizzo IP interno di una VM utilizzando PuTTY, seguendo questa procedura:
Risoluzione dei problemi
Per trovare i metodi per diagnosticare e risolvere le connessioni SSH non riuscite, consulta Risoluzione dei problemi relativi a SSH.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-08-02 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -