Compute Engine utilizza l'autenticazione SSH basata su chiavi per stabilire connessioni a tutte le istanze di macchine virtuali (VM) Linux. Facoltativamente, puoi abilitare SSH per VM Windows. Per impostazione predefinita, le password non sono configurate per gli utenti locali su Linux delle VM in esecuzione.
Prima di poterti connettere a una VM, devi eseguire diverse configurazioni. Se usa la console Google Cloud o Google Cloud CLI per connetterti alle tue VM Compute Engine esegue queste configurazioni per tuo conto. Compute Engine esegue configurazioni diverse a seconda dello strumento per la connessione e se gestire l'accesso alle VM tramite metadata o OS Login. OS Login è disponibile solo per le VM Linux.
Connessioni SSH gestite dai metadati
Per impostazione predefinita, Compute Engine utilizza i metadati personalizzati del progetto e/o dell'istanza per configurare le chiavi SSH e gestire l'accesso SSH. Tutte le VM Windows utilizzano i metadati per gestire le chiavi SSH, mentre le VM Linux possono usare chiavi di metadati o OS Login. Se utilizzi OS Login, le chiavi SSH dei metadati sono disattivate.Fai clic su ogni scheda per scoprire di più sulle configurazioni eseguite da Compute Engine prima di concedere le connessioni SSH quando utilizzi la console Google Cloud, gcloud CLI o strumenti di terze parti per connetterti alle VM. Se ti connetti a VM senza utilizzare la console Google Cloud o gcloud CLI, devi eseguire personalmente alcune configurazioni.
Console
- Utilizzi il pulsante SSH nella Console Google Cloud per connetterti alla VM.
- Compute Engine imposta un nome utente e crea una coppia di chiavi SSH temporanea con
con la seguente configurazione:
- Il tuo nome utente viene impostato come nome utente nel tuo Account Google. Ad esempio, se l'indirizzo email associato al tuo Account Google è
cloudysanfrancisco@gmail.com
, il tuo nome utente ècloudysanfrancisco
. - Le chiavi SSH pubbliche e private vengono memorizzate nella sessione del browser.
- La chiave SSH ha una scadenza di cinque minuti. Cinque minuti dopo che Compute Engine ha creato la chiave, non puoi più utilizzare la chiave SSH per connetterti alla VM.
- Il tuo nome utente viene impostato come nome utente nel tuo Account Google. Ad esempio, se l'indirizzo email associato al tuo Account Google è
- Compute Engine carica la chiave SSH pubblica e il nome utente nei metadati.
- Compute Engine recupera la chiave SSH e il nome utente dai metadati, crea un
utente con il nome utente e, sulle VM Linux, archivia la chiave
il file
~/.ssh/authorized_keys
dell'utente sulla VM. Nelle VM Windows, Compute Engine non memorizza la chiave pubblica sulla VM. - Compute Engine concede la tua connessione.
gcloud
- Utilizza il comando
gcloud compute ssh
per connetterti alla VM. - Compute Engine imposta un nome utente e crea una coppia di chiavi SSH permanente con le seguenti configurazioni:
- Il tuo nome utente viene impostato come nome utente nel computer locale.
- La chiave SSH pubblica è archiviata nei metadati del progetto. Se Compute Engine non riesce a memorizzare la chiave SSH
nei metadati del progetto, ad esempio perché
block-project-ssh-keys
è impostato suTRUE
, memorizza la chiave SSH nei metadati dell'istanza. - La chiave SSH privata è archiviata sulla macchina locale.
- La chiave SSH non ha scadenza. Viene utilizzato per tutte le connessioni SSH future che effettuerai, a meno che non ne configuri una nuova.
- Il tuo nome utente viene impostato come nome utente nel computer locale.
- Compute Engine carica la chiave SSH pubblica e il nome utente nei metadati.
- Compute Engine recupera la chiave SSH e il nome utente dai metadati, crea un
utente con il nome utente e, sulle VM Linux, archivia la chiave
il file
~/.ssh/authorized_keys
dell'utente sulla VM. Nelle VM Windows, Compute Engine non memorizza la chiave pubblica sulla VM. - Compute Engine concede la connessione.
Strumenti di terze parti
- Devi creare una coppia di chiavi SSH e un nome utente. Consulta: Crea chiavi SSH per maggiori dettagli.
- Carichi la chiave pubblica e il nome utente nei metadati. Vedi Aggiungi chiavi SSH alle VM che utilizzano chiavi SSH basate su metadati per maggiori dettagli.
- Ti connetti alla VM.
- Compute Engine recupera la chiave SSH e il nome utente dai metadati, crea un
utente con il nome utente e, sulle VM Linux, archivia la chiave
il file
~/.ssh/authorized_keys
dell'utente sulla VM. Sulle VM Windows, Compute Engine e non archivia la chiave pubblica sulla VM. - Compute Engine concede la connessione.
Connessioni SSH gestite da OS Login
Quando imposti i metadati di accesso al sistema operativo, Compute Engine elimina i fileauthorized_keys
della VM e non accetta più connessioni da chiavi SSH archiviate nei metadati del progetto o dell'istanza.
Fai clic su ciascuna scheda per saperne di più sulle configurazioni di Compute Engine esegue prima di concedere connessioni SSH quando utilizzi la console Google Cloud gcloud CLI o strumenti di terze parti e la connessione alle VM. Se ti connetti alle VM senza utilizzare la console Google Cloud o gcloud CLI, devi eseguire personalmente alcune configurazioni.
Console
- Utilizza il pulsante SSH nella console Google Cloud per connetterti alla VM.
- Compute Engine imposta un nome utente e crea una coppia di chiavi SSH temporanea con la seguente configurazione:
- Il tuo nome utente è quello impostato dall'amministratore di Cloud Identity o Google Workspace della tua organizzazione. Se la tua organizzazione non ha configurato un nome utente per te oppure
il tuo progetto non appartiene a un'organizzazione, Compute Engine usa il tuo Account Google
nel seguente formato:
Ad esempio, se l'indirizzo email associato al tuo Account Google èUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, il nome utente generato saràcloudysanfrancisco_gmail_com
. - La chiave SSH pubblica viene memorizzata nella sessione del browser e nel tuo Account Google.
- La chiave SSH privata è archiviata nella sessione del browser.
- La chiave SSH ha una scadenza di tre minuti. Tre minuti dopo la creazione di Compute Engine non puoi più utilizzare la chiave SSH per connetterti alla VM.
- Il tuo nome utente è quello impostato dall'amministratore di Cloud Identity o Google Workspace della tua organizzazione. Se la tua organizzazione non ha configurato un nome utente per te oppure
il tuo progetto non appartiene a un'organizzazione, Compute Engine usa il tuo Account Google
nel seguente formato:
- Compute Engine risolve il nome utente fornito nel tuo account OS Login nella VM utilizzando i moduli di servizio NSS.
- Compute Engine esegue l'autorizzazione IAM utilizzando
AuthorizedKeysCommand
, per assicurarti devi disporre delle autorizzazioni necessarie per connetterti. AuthorizedKeysCommand
recupera la chiave SSH dal tuo account utente per fornirla a OpenSSH nella VM.- Compute Engine concede la connessione.
gcloud
- Utilizza il comando
gcloud compute ssh
per connetterti alla VM. - Compute Engine imposta un nome utente e crea una coppia di chiavi SSH permanente con le seguenti configurazioni:
- Il tuo nome utente è quello impostato dall'amministratore di Cloud Identity o Google Workspace della tua organizzazione. Se la tua organizzazione non ha configurato
nome utente, Compute Engine utilizza l'indirizzo email del tuo Account Google nel seguente formato:
Ad esempio, se l'indirizzo email associato al tuo Account Google èUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, il nome utente generato ècloudysanfrancisco_gmail_com
. - La tua chiave SSH pubblica è archiviata nel tuo Account Google.
- La chiave SSH privata è memorizzata nella macchina locale nel
google_compute_engine
file. - La chiave SSH non ha scadenza. Viene utilizzato per tutte le connessioni SSH future che effettuerai, a meno che non ne configuri una nuova.
- Il tuo nome utente è quello impostato dall'amministratore di Cloud Identity o Google Workspace della tua organizzazione. Se la tua organizzazione non ha configurato
nome utente, Compute Engine utilizza l'indirizzo email del tuo Account Google nel seguente formato:
- Compute Engine risolve il nome utente fornito nel tuo account OS Login nella VM. utilizzando i moduli di servizio NSS.
- Compute Engine esegue l'autorizzazione IAM utilizzando
AuthorizedKeysCommand
, per assicurarti devi disporre delle autorizzazioni necessarie per connetterti. AuthorizedKeysCommand
recupera la chiave SSH dal tuo account utente per fornirla a OpenSSH nella VM.- Compute Engine concede la connessione.
Strumenti di terze parti
- Crei una coppia di chiavi SSH. Consulta: Crea chiavi SSH per maggiori dettagli.
- Carica la tua chiave SSH pubblica nel tuo profilo di OS Login. Consulta: Aggiungi chiavi alle VM che utilizzano OS Login per maggiori dettagli.
- Compute Engine memorizza la chiave nel tuo Account Google.
- Compute Engine configura il tuo nome utente nel formato predefinito:
Ad esempio, se l'indirizzo email associato al tuo Account Google èUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, poi il nome utente generato ècloudysanfrancisco_gmail_com
. - Se vuoi, puoi impostare un nome utente con l' API Directory dell'SDK Admin di Google Workspace.
- Ti connetti alla VM.
- Compute Engine risolve il nome utente fornito nel tuo account OS Login nella VM utilizzando i moduli di servizio NSS.
- Compute Engine esegue l'autorizzazione IAM utilizzando
AuthorizedKeysCommand
, per assicurarti devi disporre delle autorizzazioni necessarie per connetterti. AuthorizedKeysCommand
recupera la chiave SSH dal tuo account utente per fornirla a OpenSSH nella VM.- Compute Engine concede la tua connessione.
Passaggi successivi
- Scopri di più sui vantaggi dell'utilizzo di OS Login.
- Configurare OS Login per gestire l'accesso alle VM.
- Scopri come gestire le chiavi SSH nei metadatise non vuoi utilizzare OS Login.
- Scopri come connetterti alle VM.
- Per trovare metodi e strumenti per diagnosticare e risolvere le connessioni SSH non riuscite: consulta la sezione Risoluzione dei problemi relativi a SSH.