Questa pagina descrive come utilizzare l'interfaccia a riga di comando gcloud
per connetterti alla tua workstation da una macchina locale utilizzando SSH (o qualsiasi altro protocollo TCP).
Cloud Workstations utilizza un tunnel per inoltrare il traffico TCP tra una porta sulla tua macchina locale e una porta sulla tua workstation senza esporre apertamente la tua workstation a internet. Le connessioni vengono autenticate utilizzando le credenziali dall'interfaccia a riga di comando gcloud
e autorizzate in base ai criteri IAM della workstation di destinazione.
Una volta stabilito il tunnel TCP tra la porta locale e la workstation, puoi utilizzarlo per inoltrare il traffico da un client SSH, da curl o da qualsiasi altra applicazione che utilizza TCP.
Per praticità, Cloud Workstations fornisce il comando gcloud workstations ssh
, che stabilisce il tunnel TCP ed esegue un client SSH con un singolo comando dell'interfaccia a riga di comando gcloud
.
Per tutti gli altri casi d'uso, utilizza il comando gcloud workstations start-tcp-tunnel
per stabilire il tunnel TCP ed eseguire l'applicazione che utilizzerà il tunnel (ad esempio curl
) in un terminale separato.
Prima di iniziare
Se non hai già una workstation a cui connetterti, configura una workstation.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Assicurati di disporre del ruolo IAM Utente Cloud Workstations sulla workstation a cui ti connetterai.
Connettiti alla workstation tramite SSH
Per stabilire una connessione SSH sicura alla tua workstation, utilizza il comando gcloud workstations ssh
, che avvia un tunnel TCP ed esegue un client SSH.
Per copiare il comando nel buffer di copia e incolla, fai clic su
Copia esempio di codice, quindi incolla il comando in una finestra del terminale locale:gcloud workstations ssh \
--project=PROJECT_ID \
--region=REGION \
--cluster=CLUSTER_NAME \
--config=CONFIG_NAME \
--port=WORKSTATION_PORT \
--local-host-port=localhost:LOCAL_PORT \
WORKSTATION_NAME
Sostituisci i seguenti valori:
PROJECT_ID
: l'ID progetto Google Cloud per il progetto contenente la workstation. Se omesso, viene utilizzato il progetto attuale.REGION
: la regione in cui si trova il cluster della workstation, ad esempious-central1
.CLUSTER_NAME
: il nome del cluster di workstation che contiene la workstation.CONFIG_NAME
: il nome della configurazione di workstation contenente questa workstation.WORKSTATION_PORT
(facoltativo): la porta sulla workstation a cui deve essere inviato il traffico. Se omesso, il traffico verrà inviato alla porta22
. Tutte le immagini Cloud Workstations preconfigurate includono un server SSH in esecuzione sulla porta della workstation22
.LOCAL_PORT
(facoltativo): la porta localhost da cui verrà inviato il traffico. I numeri di porta validi sono da1024
a65535
. Se ometti il flag--local-host-port
o specifichi una porta0
, viene selezionata automaticamente una porta inutilizzata.WORKSTATION_NAME
: il nome della workstation.
(Facoltativo) Per passare flag e posizionali all'implementazione sottostante di ssh
, aggiungili al comando dopo il doppio trattino (--
).
Utilizza un tunnel TCP per inoltrare il traffico TCP arbitrario alla tua workstation
Per connetterti a una workstation utilizzando un'applicazione TCP diversa da ssh
, usa il comando gcloud workstations start-tcp-tunnel
:
Esegui il seguente comando dell'interfaccia a riga di comando
gcloud
per creare un tunnel TCP autenticato.Per copiare il comando nel buffer di copia e incolla, fai clic su
Copia esempio di codice, quindi incolla il comando in una finestra del terminale locale:gcloud workstations start-tcp-tunnel \ --project=PROJECT_ID \ --region=REGION \ --cluster=CLUSTER_NAME \ --config=CONFIG_NAME \ --local-host-port=localhost:LOCAL_PORT \ WORKSTATION_NAME \ WORKSTATION_PORT
Sostituisci i seguenti valori:
PROJECT_ID
: l'ID progetto Google Cloud per il progetto contenente la workstation. Se omesso, viene utilizzato il progetto attuale.REGION
: la regione in cui si trova il cluster della workstation, ad esempious-central1
.CLUSTER_NAME
: il nome del cluster di workstation che contiene la workstation.CONFIG_NAME
: il nome della configurazione di workstation contenente queste workstation.LOCAL_PORT
(facoltativo): la porta localhost da cui verrà inviato il traffico. I numeri di porta validi sono da1024
a65535
. Se ometti il flag--local-host-port
o specifichi una porta di0
, viene selezionata automaticamente una porta inutilizzata.WORKSTATION_NAME
: il nome della workstation.WORKSTATION_PORT
: la porta della workstation a cui deve essere inviato il traffico. Le immagini Cloud Workstations preconfigurate includono un server SSH in esecuzione sulla porta della workstation22
.
Il comando dell'interfaccia a riga di comando
gcloud
esegue un test di connettività con la workstation, apre un tunnel e mostra un numero di porta:Listening on port [LOCAL_PORT].
Tutto il traffico inviato a
localhost:LOCAL_PORT
viene inoltrato alla workstation. La porta è accessibile solo dalle applicazioni in esecuzione sul computer locale.Lascia in esecuzione l'interfaccia a riga di comando
gcloud
e apri un altro terminale per eseguire l'applicazione che si connette alla workstation.Ad esempio, se sulla tua workstation esegui un server che gestisce la porta WORKSTATION_PORT e nel passaggio precedente hai creato un tunnel TCP che inoltra il traffico tra la porta locale LOCAL_PORT e la porta della workstation WORKSTATION_PORT, potresti eseguire
curl
sulla tua macchina locale per connetterti al server sulla workstation:curl localhost:LOCAL_PORT Hello, world!
Quando hai finito, torna al terminale in cui hai avviato il tunnel TCP e interrompi l'interfaccia a riga di comando
gcloud
premendo Ctrl + C.
Utilizza server SSH su porte diverse
Inoltre, le immagini container personalizzate possono utilizzare server SSH su qualsiasi porta. Per supportare le connessioni dal tunnel dell'interfaccia a riga di comando gcloud
, devi configurare i server SSH personalizzati per consentire l'autenticazione tramite password e impostare l'utente di destinazione con una password vuota.
Cloud Workstations utilizza Cloud IAM per garantire che al server SSH venga inviato solo il traffico autorizzato.
Passaggi successivi
- Imposta le variabili di ambiente del container nelle sessioni SSH per le immagini container personalizzate
- Attiva l'inoltro X11 per le immagini container personalizzate.