Informazioni sulle connessioni SSH


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

  1. Utilizzi il pulsante SSH nella Console Google Cloud per connetterti alla VM.
  2. 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.
  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 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.
  5. Compute Engine concede la tua connessione.

gcloud

  1. Utilizza il comando gcloud compute ssh per connetterti alla VM.
  2. 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 su TRUE, 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.
  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 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.
  5. Compute Engine concede la connessione.

Strumenti di terze parti

  1. Devi creare una coppia di chiavi SSH e un nome utente. Consulta: Crea chiavi SSH per maggiori dettagli.
  2. 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.
  3. Ti connetti alla VM.
  4. 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.
  5. 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

  1. Utilizza il pulsante SSH nella console Google Cloud per connetterti alla VM.
  2. 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:

      USERNAME_DOMAIN_SUFFIX
      Ad esempio, se l'indirizzo email associato al tuo Account Google è 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.
  3. Compute Engine risolve il nome utente fornito nel tuo account OS Login nella VM utilizzando i moduli di servizio NSS.
  4. Compute Engine esegue l'autorizzazione IAM utilizzando AuthorizedKeysCommand, per assicurarti devi disporre delle autorizzazioni necessarie per connetterti.
  5. AuthorizedKeysCommand recupera la chiave SSH dal tuo account utente per fornirla a OpenSSH nella VM.
  6. Compute Engine concede la connessione.

gcloud

  1. Utilizza il comando gcloud compute ssh per connetterti alla VM.
  2. 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:

      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 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.
  3. Compute Engine risolve il nome utente fornito nel tuo account OS Login nella VM. utilizzando i moduli di servizio NSS.
  4. Compute Engine esegue l'autorizzazione IAM utilizzando AuthorizedKeysCommand, per assicurarti devi disporre delle autorizzazioni necessarie per connetterti.
  5. AuthorizedKeysCommand recupera la chiave SSH dal tuo account utente per fornirla a OpenSSH nella VM.
  6. Compute Engine concede la connessione.

Strumenti di terze parti

  1. Crei una coppia di chiavi SSH. Consulta: Crea chiavi SSH per maggiori dettagli.
  2. 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:
          USERNAME_DOMAIN_SUFFIX
      Ad esempio, se l'indirizzo email associato al tuo Account Google è cloudysanfrancisco@gmail.com, poi il nome utente generato è cloudysanfrancisco_gmail_com.
  3. Se vuoi, puoi impostare un nome utente con l' API Directory dell'SDK Admin di Google Workspace.
  4. Ti connetti alla VM.
  5. Compute Engine risolve il nome utente fornito nel tuo account OS Login nella VM utilizzando i moduli di servizio NSS.
  6. Compute Engine esegue l'autorizzazione IAM utilizzando AuthorizedKeysCommand, per assicurarti devi disporre delle autorizzazioni necessarie per connetterti.
  7. AuthorizedKeysCommand recupera la chiave SSH dal tuo account utente per fornirla a OpenSSH nella VM.
  8. Compute Engine concede la tua connessione.

Passaggi successivi