Connettiti alle VM Linux utilizzando Identity-Aware Proxy


Questo documento descrive come connettersi a un'istanza di macchina virtuale (VM) tramite il relativo indirizzo IP interno utilizzando l'inoltro TCP di Identity-Aware Proxy (IAP).

L'inoltro TCP IAP consente di stabilire un tunnel criptato su cui puoi inoltrare le connessioni SSH alle VM. Quando ti connetti a una VM che utilizza IAP, IAP inserisce la connessione SSH all'interno di HTTPS prima di inoltrarla alla VM. Poi, IAP controlla se disponi delle autorizzazioni IAM richieste e, in caso affermativo, concede l'accesso alla VM.

Se devi connetterti a una VM senza indirizzi IP esterni e non puoi utilizzare IAP, esamina gli altri metodi elencati in Opzioni di connessione per le 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 è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

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 seguenti schede.

Console

Esegui il tunneling delle connessioni SSH tramite l'indirizzo IP interno di una VM utilizzando SSH nel browser nel seguente modo:

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

gcloud

Esegui il tunneling 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.

    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.

  1. Connettiti alla VM eseguendo il seguente comando:

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. Sostituisci VM_NAME con il nome della VM a cui vuoi connetterti.

IAP Desktop

Per connetterti a una VM utilizzando IAP Desktop:

  1. Installa IAP Desktop sulla tua workstation, se non l'hai ancora fatto.

  2. Apri IAP Desktop. Viene visualizzata la finestra Aggiungi progetti.

  3. Quando richiesto, accedi utilizzando l'Account Google che ha accesso al progetto con le VM a cui vuoi connetterti.

  4. Nella finestra Aggiungi progetti, inserisci l'ID o il nome del progetto che contiene le VM a cui vuoi connetterti.

  5. Nella finestra Esploratore progetti, fai di nuovo clic con il tasto destro del mouse sul nome della VM e seleziona Connetti per connetterti alla VM.

App PuTTY

Esegui il tunnel delle connessioni SSH tramite l'indirizzo IP interno di una VM utilizzando PuTTY nel seguente modo:

  1. Aggiungi una chiave SSH alla VM se non l'hai ancora fatto.
  2. Se la tua workstation non ha già installato l'app PuTTY, scarica i file del pacchetto PuTTY.
  3. Nella console Google Cloud, vai alla pagina Istanze VM e trova il nome della VM a cui vuoi connetterti.

    Vai a Istanze VM

  4. Apri l'app PuTTY. Si apre una finestra di configurazione della connessione.
  5. 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 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 o cloudysanfrancisco.
    • NAME: il nome della VM.
  6. Nel menu Categoria, vai a Connessione > SSH > Auth.
  7. 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.
  8. Nel menu Categoria, vai a Connessione > Proxy.
  9. Nella sezione Tipo di proxy, seleziona Locale.
  10. 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 PORT_NUMBER è 22.
    • PROJECT_ID: il progetto che ospita la VM a cui vuoi collegarti.
    • ZONE: la zona in cui si trova la VM.
  11. Fai clic su Apri per connetterti alla 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