Aggiungi le chiavi SSH alle VM

Questo documento descrive come aggiungere chiavi SSH alle istanze di macchine virtuali (VM).

Prima di iniziare

Aggiungi chiavi SSH alle VM che utilizzano chiavi SSH basate su metadati

Le VM memorizzano le chiavi SSH nei metadati del progetto e delle istanze di Compute Engine. Se OS Login è abilitato per una VM, l'agente ospite della VM ignora le chiavi archiviate nei metadati.

Puoi utilizzare le chiavi SSH archiviate nei metadati del progetto per accedere a tutte le VM di un progetto. Puoi utilizzare le chiavi SSH archiviate nei metadati delle istanze per accedere alle singole VM.

Compute Engine non rimuove automaticamente le chiavi SSH dai metadati quando scadono, ma le chiavi scadute non possono essere utilizzate per stabilire nuove connessioni alle VM. Se vuoi rimuovere le chiavi scadute dai metadati, consulta Rimuovi le chiavi SSH dalle VM che utilizzano chiavi basate su metadati.

Puoi aggiungere una chiave SSH pubblica ai metadati del progetto o dell'istanza VM utilizzando la console Trusted Cloud , gcloud CLI o REST.

Aggiungi le chiavi SSH ai metadati del progetto

Puoi aggiungere una chiave SSH pubblica ai metadati di un progetto per accedere a tutte le VM di un progetto, tranne alle VM che bloccano le chiavi SSH a livello di progetto. Per saperne di più sul blocco delle chiavi SSH a livello di progetto, consulta Blocco delle chiavi SSH dalle VM che utilizzano chiavi SSH basate su metadati.

Console

Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando la consoleTrusted Cloud , segui questi passaggi:

  1. Nella console Trusted Cloud , vai alla pagina Metadati

    Vai a Metadati

  2. Fai clic sulla scheda Chiavi SSH.

  3. Fai clic su Modifica.

  4. Fai clic su Aggiungi elemento.

  5. Nel campo Chiave SSH visualizzato, aggiungi la tua chiave SSH pubblica. La chiave deve essere in uno dei seguenti formati:

    • Formato per una chiave senza scadenza:

      KEY_VALUE USERNAME
    • Formato per una chiave con scadenza:

      KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

    Sostituisci quanto segue:

    • KEY_VALUE: il valore della chiave pubblica SSH.
    • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

      Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle VM Linux come utente root.

      Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

    • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.
  6. Fai clic su Salva.

gcloud

In the Trusted Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Trusted 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. Se esistono chiavi SSH nei metadati del progetto, devi aggiungerle di nuovo ai metadati del progetto ogni volta che aggiungi una nuova chiave SSH utilizzando gcloud CLI. Se non aggiungi di nuovo le chiavi esistenti, queste verranno eliminate al momento dell'aggiunta di una nuova chiave.

    Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando gcloud CLI, procedi nel seguente modo:

    1. Se il progetto ha già chiavi SSH pubbliche a livello di progetto, recuperale dai metadati e aggiungile a un nuovo file:

      1. Esegui il comando gcloud compute project-info describe per recuperare le chiavi SSH per il progetto:

        gcloud compute project-info describe \
         --format="value(commonInstanceMetadata[items][ssh-keys])"
        

        L'output è simile al seguente:

        username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ...
        
      2. Copia il valore dei metadati ssh-keys.

      3. Crea e apri un nuovo file di testo sulla tua workstation.

      4. Nel file, incolla l'elenco di chiavi appena copiato.

      5. Aggiungi la nuova chiave alla fine dell'elenco in uno dei seguenti formati:

        • Formato per una chiave senza scadenza:

          USERNAME:KEY_VALUE
        • Formato per una chiave con scadenza:

          USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

        Sostituisci quanto segue:

        • KEY_VALUE: il valore della chiave pubblica SSH.
        • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

          Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.

          Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

        • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.
      6. Salva e chiudi il file.

    2. Esegui il comando gcloud compute project-info add-metadata per impostare il valore ssh-keys a livello di progetto:

      gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
      

      Sostituisci KEY_FILE con una delle seguenti opzioni:

      • il percorso del file creato nel passaggio precedente, se nel progetto erano presenti chiavi SSH esistenti;
      • il percorso del file della nuova chiave SSH pubblica, se nel progetto non erano presenti chiavi SSH esistenti.

Terraform

Per aggiungere una chiave SSH pubblica ai metadati del progetto, utilizza la risorsa google_compute_project_metadata.

resource "google_compute_project_metadata" "default" {
  metadata = {
    ssh-keys = <<EOF
      dev:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT dev
      test:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT test
    EOF
  }
}

REST

Se esistono chiavi SSH nei metadati del progetto, devi aggiungerle di nuovo ai metadati del progetto ogni volta che aggiungi una nuova chiave SSH utilizzando l'API Compute Engine. Se non aggiungi di nuovo le chiavi esistenti, queste verranno eliminate al momento dell'aggiunta di una nuova chiave.

Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando l'API Compute Engine, procedi nel seguente modo:

  1. Ottieni i valori fingerprint e ssh-keys dai metadati utilizzando il metodo projects.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID progetto.

    La risposta è simile alla seguente:

    ...
    "fingerprint": "utgYE_XWtE8=",
    "items": [
    {
     "key": "ssh-keys",
     "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}"
    }
    ]
    ...
    
  2. Aggiungi il nuovo valore ssh-keys utilizzando il metodo projects.setCommonInstanceMetadata.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata
    
    {
    "items": [
     {
      "key": "ssh-keys",
      "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY"
     }
    ]
    "fingerprint": "FINGERPRINT"
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto
    • EXISTING_SSH_KEYS: il valore della chiave ssh-keys ottenuta dalla risposta della richiesta projects.get
    • FINGERPRINT: il valore di fingerprint dalla risposta della richiesta projects.get
    • NEW_SSH_KEY: la nuova chiave SSH, in uno dei seguenti formati:

      • Formato per una chiave senza scadenza:

        USERNAME:KEY_VALUE
      • Formato per una chiave con scadenza:

        USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Sostituisci quanto segue:

      • KEY_VALUE: il valore della chiave pubblica SSH.
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

      • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.

Aggiungi le chiavi SSH ai metadati dell'istanza

Puoi aggiungere una chiave SSH pubblica ai metadati dell'istanza quando crei una VM o dopo aver creato una VM.

Aggiungi le chiavi SSH ai metadati dell'istanza durante la creazione della VM

Puoi aggiungere chiavi SSH ai metadati dell'istanza durante la creazione della VM utilizzando la consoleTrusted Cloud , gcloud CLI o l'API Compute Engine.

Console

Per creare un'istanza e aggiungere contemporaneamente una chiave SSH pubblica ai metadati dell'istanza utilizzando la console Trusted Cloud , procedi nel seguente modo:

  1. Nella console Trusted Cloud , vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Per aggiungere una chiave SSH pubblica ai metadati dell'istanza:

    1. Nel menu di navigazione, fai clic su Sicurezza.

    2. Espandi la sezione Gestisci accesso.

    3. Per disattivare OS Login, deseleziona la casella di controllo Controlla l'accesso alle VM tramite autorizzazioni IAM.

    4. Se vuoi consentire alle chiavi SSH pubbliche nei metadati del progetto di accedere all'istanza, deseleziona la casella di controllo Blocca chiavi SSH a livello di progetto.

    5. Nella sezione Aggiungi chiavi SSH generate manualmente, fai clic su Aggiungi elemento.

    6. Aggiungi la chiave pubblica nella casella di testo. La chiave deve essere in uno dei seguenti formati:

      • Formato per una chiave senza scadenza:

        KEY_VALUE USERNAME
      • Formato per una chiave con scadenza:

        KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Sostituisci quanto segue:

      • KEY_VALUE: il valore della chiave pubblica SSH.
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle VM Linux come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

      • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.
  3. (Facoltativo) Specifica altre opzioni di configurazione. Per ulteriori informazioni, consulta Opzioni di configurazione durante la creazione dell'istanza.

  4. Per creare e avviare l'istanza, fai clic su Crea.

gcloud

  1. In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Trusted 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.

  2. Per creare contemporaneamente una VM e aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando gcloud CLI, utilizza il comando gcloud compute instances create:

    gcloud compute instances create VM_NAME \
       --metadata=ssh-keys=PUBLIC_KEY
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della nuova VM
    • PUBLIC_KEY: la tua chiave pubblica SSH, in uno dei seguenti formati:

      • Formato per una chiave senza scadenza:

        USERNAME:KEY_VALUE
      • Formato per una chiave con scadenza:

        USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Sostituisci quanto segue:

      • KEY_VALUE: il valore della chiave pubblica SSH.
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

      • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.

    Puoi aggiungere più chiavi SSH utilizzando il flag --metadata-from-file=ssh-keys=FILE_PATH. Nel file, aggiungi un elenco di nomi utente e chiavi SSH pubbliche in uno dei formati precedenti.

Terraform

Per aggiungere una chiave SSH pubblica ai metadati dell'istanza, utilizza la risorsa google_compute_instance.

resource "google_compute_instance" "default" {
  name         = "my-vm"
  machine_type = "n1-standard-1"
  zone         = "us-central1-a"

  boot_disk {
    initialize_params {
      image = "ubuntu-1404-trusty-v20160627"
    }
  }

  # Local SSD disk
  scratch_disk {
    interface = "SCSI"
  }

  network_interface {
    network = "default"
    access_config {}
  }
  metadata = {
    "ssh-keys" = <<EOT
      dev:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT dev
      test:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT test
     EOT
  }
}

REST

Per creare una VM e aggiungere una chiave pubblica SSH ai metadati dell'istanza contemporaneamente utilizzando Compute Engine, crea una richiesta POST al metodo instances.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • ZONE: la zona della VM

Nel corpo della richiesta, fornisci i nomi utente e le chiavi SSH pubbliche nella proprietà items:

...
{
 "items": [
    {
     "key": "ssh-keys",
     "value": "PUBLIC_KEY"
    }
   ]
}
...

Sostituisci PUBLIC_KEY con la tua chiave pubblica in uno tra i seguenti formati:

  • Formato per una chiave senza scadenza:

    USERNAME:KEY_VALUE
  • Formato per una chiave con scadenza:

    USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

Sostituisci quanto segue:

  • KEY_VALUE: il valore della chiave pubblica SSH.
  • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.

    Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

  • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.

Puoi aggiungere più chiavi SSH inserendo \n tra le chiavi.

Aggiungi le chiavi SSH ai metadati dell'istanza dopo la creazione della VM

Puoi aggiungere chiavi SSH ai metadati dell'istanza dopo la creazione della VM utilizzando la consoleTrusted Cloud , gcloud CLI o l'API Compute Engine.

Console

Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando la consoleTrusted Cloud , segui questi passaggi:

  1. Nella console Trusted Cloud , vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM per cui vuoi aggiungere una chiave SSH.

  3. Fai clic su Modifica.

  4. In Chiavi SSH, fai clic su Aggiungi elemento.

  5. Aggiungi la chiave pubblica nella casella di testo. La chiave deve essere in uno dei seguenti formati:

    • Formato per una chiave senza scadenza:

      KEY_VALUE USERNAME
    • Formato per una chiave con scadenza:

      KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

    Sostituisci quanto segue:

    • KEY_VALUE: il valore della chiave pubblica SSH.
    • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

      Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle VM Linux come utente root.

      Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

    • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.
  6. Fai clic su Salva.

gcloud

  1. In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Trusted 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.

  2. Se esistono chiavi SSH nei metadati dell'istanza, devi aggiungerle di nuovo ai metadati dell'istanza ogni volta che aggiungi una nuova chiave SSH utilizzando gcloud CLI. Se non aggiungi di nuovo le chiavi esistenti, queste verranno eliminate al momento dell'aggiunta di una nuova chiave.

    Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando gcloud CLI, procedi nel seguente modo:

    1. Se la VM dispone già di chiavi SSH pubbliche a livello di istanza, recuperale dai metadati e aggiungile a un nuovo file:

      1. Esegui il comando gcloud compute instances describe per recuperare i metadati della VM:

        gcloud compute instances describe VM_NAME
        

        Sostituisci VM_NAME con il nome della VM per cui devi aggiungere o rimuovere le chiavi SSH pubbliche.

        L'output è simile al seguente:

        ...
        metadata:
        ...
        - key: ssh-keys
         value: |-
           cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...
           baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}
        ...
        
      2. Copia il valore dei metadati ssh-keys.

      3. Crea e apri un nuovo file di testo sulla tua workstation.

      4. Nel file, incolla l'elenco di chiavi appena copiato.

      5. Aggiungi la nuova chiave alla fine dell'elenco in uno dei seguenti formati:

      • Formato per una chiave senza scadenza:

        USERNAME:KEY_VALUE
      • Formato per una chiave con scadenza:

        USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Sostituisci quanto segue:

      • KEY_VALUE: il valore della chiave pubblica SSH.
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

      • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.
      1. Salva e chiudi il file.
    2. Esegui il comando gcloud compute instances add-metadata per impostare il valore ssh-keys:

      gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
      

      Sostituisci quanto segue:

      • VM_NAME: la VM per cui vuoi aggiungere la chiave SSH
      • KEY_FILE con uno dei seguenti elementi:
      • il percorso del file creato nel passaggio precedente, se nella VM erano presenti chiavi SSH esistenti;
      • il percorso del file della nuova chiave SSH pubblica, se nella VM non erano presenti chiavi SSH esistenti.

REST

Se esistono chiavi SSH nei metadati dell'istanza, devi aggiungerle di nuovo ai metadati dell'istanza ogni volta che aggiungi una nuova chiave SSH utilizzando l'API Compute Engine. Se non aggiungi di nuovo le chiavi esistenti, queste verranno eliminate al momento dell'aggiunta di una nuova chiave.

Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando l'API Compute Engine, procedi nel seguente modo:

  1. Ottieni i valori fingerprint e ssh-keys dai metadati utilizzando il metodo instances.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto
    • ZONE: la zona della VM a cui aggiungere una chiave SSH
    • VM_NAME: la VM per cui stai aggiungendo una chiave SSH

    La risposta è simile alla seguente:

    ...
    "fingerprint": "utgYE_XWtE8=",
    "items": [
    {
     "key": "ssh-keys",
      "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}"
    }
    ]
    ...
    
  2. Aggiungi il nuovo valore ssh-keys utilizzando il metodo instances.setMetadata.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata
    
    {
    "items": [
     {
      "key": "ssh-keys",
      "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY"
     }
    ]
    "fingerprint": "FINGERPRINT"
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto
    • EXISTING_SSH_KEYS: il valore della chiave ssh-keys dalla risposta della richiesta instances.get
    • FINGERPRINT: il fingerprint dalla risposta della richiesta projects.get
    • NEW_SSH_KEY: la nuova chiave SSH, in uno dei seguenti formati:

      • Formato per una chiave senza scadenza:

        USERNAME:KEY_VALUE
      • Formato per una chiave con scadenza:

        USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Sostituisci quanto segue:

      • KEY_VALUE: il valore della chiave pubblica SSH.
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, USERNAME non può essere root, a meno che non configuri la VM in modo da consentire l'accesso root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), bisogna anteporre al nome utente il dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'AD ad.example.com ha un USERNAME simile a example\cloudysanfrancisco.

      • EXPIRE_TIME: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000.

Passaggi successivi