Informazioni sulle connessioni SSH

Compute Engine utilizza l'autenticazione SSH basata su chiave per stabilire connessioni a tutte le istanze di macchine virtuali (VM) Linux. Facoltativamente, puoi abilitare SSH per le VM Windows. Per impostazione predefinita, le password non sono configurate per gli utenti locali sulle VM Linux.

Prima di poterti connettere a una VM, è necessario eseguire diverse configurazioni. Se utilizzi 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 utilizzato per la connessione e se gestisci l'accesso alle VM tramite metadati o OS Login. OS Login è disponibile solo per le VM Linux.

Connessioni SSH gestite da metadati

Per impostazione predefinita, Compute Engine utilizza metadati personalizzati di progetto e/o 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 utilizzare chiavi di metadati o OS Login. Se utilizzi OS Login, le chiavi SSH dei metadati sono disabilitate.

Fai clic su ciascuna scheda per saperne di più sulle configurazioni eseguite da Compute Engine prima di concedere le connessioni SSH quando utilizzi la console Google Cloud, gcloud CLI o gli strumenti di terze parti per connetterti alle VM. Se ti connetti alle VM senza utilizzare la console Google Cloud o gcloud CLI, devi eseguire alcune configurazioni in autonomia.

Console

  1. Utilizza il pulsante SSH nella console Google Cloud per connetterti alla tua VM.
  2. Compute Engine imposta un nome utente e crea una coppia di chiavi SSH temporanea con la seguente configurazione:
    • Il tuo nome utente è 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 archiviate nella sessione del browser.
    • La chiave SSH scade di cinque minuti. Cinque minuti dopo che Compute Engine ha creato la chiave, non puoi più utilizzare la chiave SSH per connetterti alla VM.
  3. Compute Engine carica la chiave SSH pubblica e il nome utente nei metadati.
  4. Compute Engine recupera la chiave SSH e il nome utente dai metadati, crea un account utente con il nome utente e, nelle VM Linux, archivia la chiave pubblica nel file ~/.ssh/authorized_keys dell'utente sulla VM. Sulle VM Windows, Compute Engine non archivia la chiave pubblica nella VM.
  5. Compute Engine concede la tua connessione.

gcloud

  1. Utilizzerai il comando gcloud compute ssh per connetterti alla tua VM.
  2. Compute Engine imposta un nome utente e crea una coppia di chiavi SSH permanente con le seguenti configurazioni:
    • Il tuo nome utente è impostato come nome utente sulla tua macchina locale.
    • La chiave SSH pubblica è archiviata nei metadati del progetto. Se Compute Engine non può archiviare la chiave SSH nei metadati del progetto, ad esempio perché block-project-ssh-keys è impostato su TRUE, Compute Engine archivia la chiave SSH nei metadati dell'istanza.
    • La chiave SSH privata è archiviata sulla tua macchina locale.
    • La chiave SSH non ha una scadenza. Verrà utilizzata per tutte le connessioni SSH future, a meno che non configuri una nuova chiave.
  3. Compute Engine carica la chiave SSH pubblica e il nome utente nei metadati.
  4. Compute Engine recupera la chiave SSH e il nome utente dai metadati, crea un account utente con il nome utente e, nelle VM Linux, archivia la chiave pubblica nel file ~/.ssh/authorized_keys dell'utente sulla VM. Sulle VM Windows, Compute Engine non archivia la chiave pubblica nella VM.
  5. Compute Engine concede la tua connessione.

Strumenti di terze parti

  1. Creerai una coppia di chiavi SSH e un nome utente. Per maggiori dettagli, consulta Creazione di chiavi SSH.
  2. Devi caricare la chiave pubblica e il nome utente nei metadati. Per maggiori dettagli, consulta Aggiungere chiavi SSH alle VM che utilizzano chiavi SSH basate su metadati.
  3. Ti connetti alla VM.
  4. Compute Engine recupera la chiave SSH e il nome utente dai metadati, crea un account utente con il nome utente e, nelle VM Linux, archivia la chiave pubblica nel file ~/.ssh/authorized_keys dell'utente sulla VM. Sulle VM Windows, Compute Engine non archivia la chiave pubblica nella VM.
  5. Compute Engine concede la tua connessione.

Connessioni SSH gestite da OS Login

Quando imposti i metadati OS Login, Compute Engine elimina i file authorized_keys della VM e non accetta più connessioni dalle chiavi SSH archiviate nei metadati del progetto o dell'istanza.

Fai clic su ogni scheda per saperne di più sulle configurazioni eseguite da Compute Engine prima di concedere le connessioni SSH quando utilizzi la console Google Cloud, gcloud CLI o gli strumenti di terze parti per connetterti alle VM. Se ti connetti alle VM senza utilizzare la console Google Cloud o gcloud CLI, devi eseguire alcune configurazioni autonomamente.

Console

  1. Utilizza il pulsante SSH nella console Google Cloud per connetterti alla tua VM.
  2. Compute Engine imposta un nome utente e crea una coppia di chiavi SSH temporanea con la seguente configurazione:
    • Il tuo nome utente è il nome utente impostato dall'amministratore di Cloud Identity o Google Workspace della tua organizzazione. Se la tua organizzazione non ha configurato un nome utente o se il progetto non appartiene a un'organizzazione, Compute Engine utilizza l'indirizzo email del tuo Account Google nel seguente formato:

      USERNAME_DOMAIN_SUFFIX
      Ad esempio, se l'indirizzo email associato al tuo Account Google è cloudysanfrancisco@gmail.com, il nome utente generato è cloudysanfrancisco_gmail_com.

    • La chiave SSH pubblica viene memorizzata nella sessione del browser e nel tuo Account Google.
    • La chiave SSH privata viene archiviata nella sessione del browser.
    • La chiave SSH scade di tre minuti. Tre minuti dopo che Compute Engine ha creato la chiave, non puoi più utilizzare la chiave SSH per connetterti alla VM.
  3. Compute Engine risolve il nome utente fornito nell'account OS Login nella VM utilizzando i moduli di servizio NSS.
  4. Compute Engine esegue l'autorizzazione IAM utilizzando le configurazioni PAM, per assicurarti di disporre delle autorizzazioni richieste per la connessione.
  5. Compute Engine recupera la chiave SSH dall'account utente e la fornisce a OpenSSH nella VM utilizzando il comando delle chiavi autorizzate SSH.
  6. Compute Engine concede la tua connessione.

gcloud

  1. Utilizzerai il comando gcloud compute ssh per connetterti alla tua VM.
  2. Compute Engine imposta un nome utente e crea una coppia di chiavi SSH permanente con le seguenti configurazioni:
    • Il tuo nome utente è il nome utente impostato dall'amministratore di Cloud Identity o Google Workspace della tua organizzazione. Se la tua organizzazione non ha configurato un nome utente, Compute Engine utilizza l'indirizzo email del tuo Account Google nel seguente formato:

      USERNAME_DOMAIN_SUFFIX
      Ad esempio, se l'indirizzo email associato al tuo Account Google è cloudysanfrancisco@gmail.com, il nome utente generato è cloudysanfrancisco_gmail_com.

    • La chiave SSH pubblica è archiviata nel tuo Account Google.
    • La tua chiave SSH privata è archiviata sulla macchina locale nel file google_compute_engine.
    • La chiave SSH non ha una scadenza. Verrà utilizzata per tutte le connessioni SSH future, a meno che non configuri una nuova chiave.
  3. Compute Engine risolve il nome utente fornito nell'account OS Login nella VM utilizzando i moduli di servizio NSS.
  4. Compute Engine esegue l'autorizzazione IAM utilizzando le configurazioni PAM, per assicurarti di disporre delle autorizzazioni richieste per la connessione.
  5. Compute Engine recupera la chiave SSH dall'account utente e la fornisce a OpenSSH nella VM utilizzando il comando delle chiavi autorizzate SSH.
  6. Compute Engine concede la tua connessione.

Strumenti di terze parti

  1. Creare una coppia di chiavi SSH. Per maggiori dettagli, consulta Creazione di chiavi SSH.
  2. Carica la chiave SSH pubblica nel profilo di OS Login. Per maggiori dettagli, consulta Aggiungere chiavi alle VM che utilizzano OS Login.
    • Compute Engine archivia la chiave nel tuo Account Google.
    • Compute Engine configura il tuo nome utente nel formato predefinito:
          USERNAME_DOMAIN_SUFFIX
      Ad esempio, se l'indirizzo email associato al tuo Account Google è cloudysanfrancisco@gmail.com, il nome utente generato è cloudysanfrancisco_gmail_com.
  3. Facoltativamente, puoi impostare un nome utente utilizzando l' API Directory dell'SDK Admin di Google Workspace.
  4. Ti connetti alla VM.
  5. Compute Engine risolve il nome utente fornito nell'account OS Login nella VM utilizzando i moduli di servizio NSS.
  6. Compute Engine esegue l'autorizzazione IAM utilizzando le configurazioni PAM, per assicurarti di disporre delle autorizzazioni richieste per la connessione.
  7. Compute Engine recupera la chiave SSH dall'account utente e la fornisce a OpenSSH nella VM utilizzando il comando delle chiavi autorizzate SSH.
  8. Compute Engine concede la tua connessione.

Che cosa succede dopo?