Aggiungi chiavi SSH alle VM

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento descrive come aggiungere chiavi SSH a istanze di macchine virtuali (VM) che utilizzano OS Login e VM che utilizzano chiavi SSH basate su metadati. Se tu o l'amministratore della vostra organizzazione non avete attivato OS Login, le tue VM utilizzano chiavi SSH basate su metadati.

Prima di iniziare

Aggiungi chiavi alle VM che utilizzano OS Login

Le VM che utilizzano OS Login accettano chiavi SSH associate al tuo Account Google. Puoi associare una chiave SSH pubblica al tuo Account Google utilizzando l'interfaccia a riga di comando gcloud o l'API OS Login. Se sei un amministratore della tua organizzazione, puoi aggiungere chiavi SSH agli account utente utilizzando l'API Directory.

Quando aggiungi chiavi SSH al tuo Account Google, Compute Engine genera un nome utente per te combinando il nome utente e il dominio dall'email associata al tuo Account Google. Ad esempio, se il tuo indirizzo email è cloudysanfrancisco@gmail.com, il tuo nome utente è cloudysanfrancisco_gmail_com. Se aggiungi una chiave SSH a un progetto esterno alla tua organizzazione, il tuo nome utente ha come prefisso ext_, ad esempio ext_cloudysanfrancisco_gmail_com. L'amministratore della tua organizzazione può personalizzare il tuo nome utente utilizzando l'API Directory. Se hai già configurato un nome utente, Compute Engine lo utilizza quando aggiungi le chiavi SSH.

gcloud

Per aggiungere una chiave SSH pubblica al tuo account, utilizza il comando gcloud compute os-login ssh-keys add:

gcloud compute os-login ssh-keys add \
    --key-file=KEY_FILE_PATH \
    --project=PROJECT \
    --ttl=EXPIRE_TIME

Sostituisci quanto segue:

  • KEY_FILE_PATH: il percorso della chiave SSH pubblica sulla workstation. La chiave deve utilizzare il formato public-openssh
  • PROJECT: facoltativo: un progetto in cui intendi utilizzare la chiave SSH. Specifica questo campo per utilizzare la chiave SSH in un progetto esterno alla tua organizzazione o non sei membro di un'organizzazione Cloud Identity
  • EXPIRE_TIME: facoltativa: la data di scadenza della chiave SSH

    Ad esempio, se specifichi 30m, la chiave SSH scade dopo 30 minuti.

    Questo flag utilizza le seguenti unità:

    • s per secondi
    • m per minuti
    • h per orari
    • d per giorni

API

Per aggiungere una chiave SSH pubblica al tuo account, utilizza il metodo users.importSshPublicKey dell'API OS Login:

POST https://oslogin.googleapis.com/v1/users/ACCOUNT_EMAIL:importSshPublicKey

{
 "key": "SSH_KEY",
 "expirationTimeUsec": "EXPIRATION_TIMESTAMP"
}

Sostituisci quanto segue:

  • ACCOUNT_EMAIL: l'indirizzo email associato al tuo account.
  • SSH_KEY: la chiave pubblica che vuoi aggiungere all'account
  • EXPIRATION_TIMESTAMP: la scadenza della chiave, in microsecondi dal periodo (1 secondo = 106 microsecondi)

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

VM che non utilizzano chiavi SSH dell'archivio OS Login nei metadati di progetto e istanza di Compute Engine. Puoi utilizzare le chiavi SSH archiviate nei metadati di progetto per accedere a tutte le VM in un progetto. Puoi utilizzare le chiavi SSH archiviate nei metadati delle istanze per accedere alle singole VM.

Puoi aggiungere una chiave SSH pubblica ai metadati di progetto o istanza utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud o l'API Compute Engine.

Aggiungi chiavi SSH ai metadati di progetto

Puoi aggiungere una chiave SSH pubblica ai metadati di progetto per accedere a tutte le VM in un progetto, ad eccezione delle VM che bloccano le chiavi SSH a livello di progetto. Per scoprire di più sul blocco delle chiavi SSH a livello di progetto, consulta la pagina Bloccare le chiavi SSH dalle VM che utilizzano chiavi SSH basate su metadati.

Console

Per aggiungere una chiave SSH pubblica ai metadati di progetto utilizzando la console Google Cloud, segui questi passaggi:

  1. In Google Cloud Console, vai alla pagina Metadati.

    Vai a Metadati

  2. Fai clic su Modifica.

  3. Fai clic su Aggiungi elemento. Si apre una casella di testo.

  4. 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 SSH pubblica
    • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

      Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

      Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

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

gcloud

Se nei metadati di progetto sono presenti chiavi SSH esistenti, devi riaggiungerle ai metadati di progetto ogni volta che aggiungi una nuova chiave SSH utilizzando l'interfaccia a riga di comando gcloud. Se non aggiungi nuovamente le chiavi esistenti, l'aggiunta di una nuova chiave comporta la cancellazione di quelle esistenti.

Per aggiungere una chiave SSH pubblica ai metadati di progetto utilizzando l'interfaccia a riga di comando gcloud:

  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 del 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 workstation.

    4. Nel file, incolla l'elenco delle chiavi che hai appena copiato.

    5. Aggiungi la nuova chiave in fondo all'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 SSH pubblica
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

      • EXPIRE_TIME: 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 uno dei seguenti elementi:

    • Il percorso del file che hai creato nel passaggio precedente, se il progetto aveva chiavi SSH esistenti.
    • Il percorso del nuovo file della chiave SSH pubblica, se il progetto non aveva chiavi SSH esistenti

API

Se sono presenti chiavi SSH esistenti nei metadati del progetto, devi riaggiungerle ai metadati di progetto ogni volta che aggiungi una nuova chiave SSH utilizzando l'API Compute Engine. Se non aggiungi nuovamente le chiavi esistenti, l'aggiunta di una nuova chiave comporta la cancellazione di quelle esistenti.

Per aggiungere una chiave SSH pubblica ai metadati di progetto utilizzando l'API Compute Engine, procedi come segue:

  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 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 SSH pubblica
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

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

Aggiungi chiavi SSH ai metadati delle istanze

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

Aggiungere chiavi SSH ai metadati delle istanze durante la creazione della VM

Puoi aggiungere chiavi SSH ai metadati dell'istanza durante la creazione della VM, utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud o l'API Compute Engine.

Console

Per creare una VM e aggiungere una chiave SSH pubblica ai metadati dell'istanza contemporaneamente utilizzando Google Cloud Console:

  1. In Google Cloud Console, vai alla pagina Crea un'istanza.

    Vai a Creare un'istanza

  2. Specifica i dettagli della VM.

  3. Espandi la sezione Networking, dischi, sicurezza, gestione, single tenancy e:

    1. Espandi la sezione Sicurezza.

    2. Seleziona Aggiungi manualmente chiavi SSH.

    3. Fai clic su Aggiungi elemento.

    4. 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 SSH pubblica
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

      • EXPIRE_TIME: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio: 2021-12-04T20:12:00+0000
  4. Per creare e avviare la VM, fai clic su Crea.

gcloud

Per creare una VM e aggiungere una chiave SSH pubblica ai metadati dell'istanza contemporaneamente utilizzando l'interfaccia a riga di comando gcloud, 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 SSH pubblica, 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 SSH pubblica
    • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

      Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

      Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

    • EXPIRE_TIME: 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.

API

Per creare una VM e aggiungere contemporaneamente una chiave SSH pubblica ai metadati dell'istanza utilizzando Compute Engine, crea una richiesta POST nel 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 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 SSH pubblica
  • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

    Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

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

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

Aggiunta di 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 console Google Cloud, l'interfaccia a riga di comando gcloud o l'API Compute Engine.

Console

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

  1. In Google Cloud Console, 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 SSH pubblica
    • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

      Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

      Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

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

gcloud

Se nei metadati dell'istanza sono presenti chiavi SSH esistenti, devi riaggiungerle ai metadati dell'istanza ogni volta che aggiungi una nuova chiave SSH utilizzando l'interfaccia a riga di comando gcloud. Se non aggiungi nuovamente le chiavi esistenti, l'aggiunta di una nuova chiave comporta la cancellazione di quelle esistenti.

Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando l'interfaccia a riga di comando gcloud:

  1. Se la tua VM ha già 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 per la 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 workstation.

    4. Nel file, incolla l'elenco delle chiavi che hai appena copiato.

    5. Aggiungi la nuova chiave in fondo all'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 SSH pubblica
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

      • EXPIRE_TIME: 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 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 una delle seguenti opzioni:
      • Il percorso del file che hai creato nel passaggio precedente, se la VM aveva chiavi SSH esistenti
      • Il percorso del nuovo file della chiave SSH pubblica, se la VM non aveva chiavi SSH esistenti

API

Se sono presenti chiavi SSH esistenti nei metadati dell'istanza, devi riaggiungerle ai metadati dell'istanza ogni volta che aggiungi una nuova chiave SSH utilizzando l'API Compute Engine. Se non aggiungi nuovamente le chiavi esistenti, l'aggiunta di una nuova chiave comporta la cancellazione di quelle esistenti.

Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando l'API Compute Engine, segui questi passaggi:

  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 a cui vuoi aggiungere 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 SSH pubblica
      • USERNAME: il tuo nome utente. Ad esempio, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

        Per le VM Linux, il tipo di USERNAME non può essere root, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta la pagina Connessione alle istanze come utente root.

        Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere preceduto dal dominio AD nel formato DOMAIN\. Ad esempio, l'utente cloudysanfrancisco all'interno dell'annuncio ad.example.com ha un USERNAME di example\cloudysanfrancisco.

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

Passaggi successivi