Prima di iniziare
- Per informazioni sulla gestione dell'accesso alle VM di Compute Engine, vedi Scegliere un metodo di accesso.
- Se non l'hai ancora fatto, crea una coppia di chiavi SSH.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Imposta una regione e una zona predefinite.
Terraform
Per utilizzare gli esempi Terraform in questa pagina da un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
-
Aggiunta di chiavi alle VM che utilizzano OS Login
Le VM che utilizzano OS Login accettano le chiavi SSH associate al tuo Account Google. Puoi associare una chiave SSH pubblica al tuo Account Google utilizzando gcloud CLI 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 tuo conto combinando il nome utente e il dominio dell'indirizzo email associato 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 in un progetto esterno alla tua organizzazione, il tuo nome utente ha il prefisso ext_
, ad esempio ext_cloudysanfrancisco_gmail_com
. L'amministratore della tua organizzazione può personalizzare il nome utente utilizzando l'API Directory. Se hai già configurato un nome utente, Compute Engine utilizza quel nome utente quando aggiungi chiavi SSH.
gcloud
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
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 formatopublic-openssh
PROJECT
: facoltativo: un progetto in cui intendi utilizzare la tua chiave SSH. Specifica questo campo per utilizzare la chiave SSH in un progetto esterno alla tua organizzazione o non sei un membro di un'organizzazione Cloud IdentityEXPIRE_TIME
: facoltativo: la scadenza della chiave SSHAd esempio, se specifichi
30m
, la chiave SSH scadrà dopo 30 minuti.Questo flag utilizza le seguenti unità:
s
per secondim
per i minutih
per ored
per giorni
Terraform
Per aggiungere una chiave SSH pubblica al tuo account, utilizza la risorsa google_client_openid_userinfo
insieme alla risorsa google_os_login_ssh_public_key
.
REST
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 accountSSH_KEY
: la chiave pubblica che vuoi aggiungere all'accountEXPIRATION_TIMESTAMP
: la scadenza della chiave, in microsecondi dall'epoca (1 secondo = 106 microsecondi)
Aggiunta di chiavi SSH alle VM che utilizzano chiavi SSH basate su metadati
Le VM che non utilizzano OS Login archiviano le chiavi SSH nei metadati del progetto e dell'istanza Compute Engine. Puoi utilizzare le chiavi SSH archiviate nei metadati del progetto per accedere a tutte le VM in un progetto. Puoi utilizzare le chiavi SSH archiviate nei metadati dell'istanza per accedere a singole VM.
Compute Engine non rimuove automaticamente le chiavi SSH scadute dai metadati al momento della scadenza, ma le chiavi scadute non possono essere utilizzate per stabilire nuove connessioni alle VM. Se vuoi rimuovere le chiavi scadute dai metadati, consulta Rimuovere le chiavi SSH dalle VM che utilizzano chiavi basate su metadati.
Puoi aggiungere una chiave SSH pubblica ai metadati di progetto o istanza utilizzando la console Google Cloud, gcloud CLI o l'API Compute Engine.
Aggiungi chiavi SSH ai metadati del progetto
Puoi aggiungere una chiave SSH pubblica ai metadati del progetto per accedere a tutte le VM in un progetto, ad eccezione delle VM che bloccano le chiavi SSH a livello di progetto. Per ulteriori informazioni 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 console Google Cloud:
Nella console Google Cloud, vai alla pagina Metadati.
Fai clic sulla scheda Chiavi SSH.
Fai clic su Modifica.
Fai clic su Aggiungi elemento. Si apre una casella di testo.
Aggiungi la chiave pubblica nella casella di testo. La chiave deve essere in uno dei seguenti formati:
- Formato di una chiave senza scadenza:
KEY_VALUE USERNAME
- Formato di una chiave con data di scadenza:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connettersi alle VM Linux come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato di una chiave senza scadenza:
Fai clic su Salva.
gcloud
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Se nei metadati del progetto sono già presenti chiavi SSH, 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, l'aggiunta di una nuova chiave cancellerà quelle esistenti.
Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando gcloud CLI, segui questi passaggi:
Se il tuo progetto dispone già di chiavi SSH pubbliche a livello di progetto, recuperale dai metadati e aggiungile a un nuovo file:
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...
Copia il valore dei metadati
ssh-keys
.Crea e apri un nuovo file di testo sulla workstation.
Incolla nel file l'elenco delle chiavi copiate.
Aggiungi la nuova chiave alla fine dell'elenco, in uno dei seguenti formati:
- Formato di una chiave senza scadenza:
USERNAME:KEY_VALUE
- Formato di una chiave con data di scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato di una chiave senza scadenza:
Salva e chiudi il file.
Esegui il comando
gcloud compute project-info add-metadata
per impostare il valoressh-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 valori:- Il percorso del file creato nel passaggio precedente, se il progetto aveva chiavi SSH esistenti
- Il percorso del nuovo file di chiavi SSH pubbliche, se il progetto non aveva chiavi SSH esistenti
Terraform
Per aggiungere una chiave SSH pubblica ai metadati del progetto, utilizza la risorsa google_compute_project_metadata
.
REST
Se nei metadati del progetto esistono già chiavi SSH, 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, l'aggiunta di una nuova chiave cancellerà quelle esistenti.
Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando l'API Compute Engine:
Ottieni i valori
fingerprint
essh-keys
dai metadati utilizzando il metodoprojects.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"}" } ] ...
Aggiungi il nuovo valore
ssh-keys
utilizzando il metodoprojects.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 progettoEXISTING_SSH_KEYS
: il valore della chiavessh-keys
nella risposta alla richiestaprojects.get
FINGERPRINT
: il valore delfingerprint
della risposta alla richiestaprojects.get
NEW_SSH_KEY
: la nuova chiave SSH, in uno dei seguenti formati:- Formato di una chiave senza scadenza:
USERNAME:KEY_VALUE
- Formato di una chiave con data di scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato di una chiave senza scadenza:
Aggiungi 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 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 console Google Cloud, gcloud CLI o l'API Compute Engine.
Console
Per creare una VM e aggiungere contemporaneamente una chiave SSH pubblica ai metadati dell'istanza utilizzando la console Google Cloud:
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Specifica i dettagli della VM.
Espandi la sezione Opzioni avanzate ed esegui le seguenti operazioni:
Espandi la sezione Sicurezza.
Seleziona Aggiungi chiavi SSH generate manualmente.
Fai clic su Aggiungi elemento.
Aggiungi la chiave pubblica nella casella di testo. La chiave deve essere in uno dei seguenti formati:
- Formato di una chiave senza scadenza:
KEY_VALUE USERNAME
- Formato di una chiave con data di scadenza:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connettersi alle VM Linux come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato di una chiave senza scadenza:
Per creare e avviare la VM, fai clic su Crea.
gcloud
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Per creare una VM e aggiungere contemporaneamente 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 VMPUBLIC_KEY
: la tua chiave SSH pubblica in uno dei seguenti formati:- Formato di una chiave senza scadenza:
USERNAME:KEY_VALUE
- Formato di una chiave con data di scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato di una chiave senza scadenza:
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
.
REST
Per creare una VM e aggiungere contemporaneamente una chiave SSH pubblica ai metadati dell'istanza utilizzando Compute Engine, crea una richiesta POST
per il metodo instances.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona della VM
Nel corpo della richiesta, specifica 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 di una chiave senza scadenza:
USERNAME:KEY_VALUE
- Formato di una chiave con data di scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\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.
Aggiungere 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, gcloud CLI o l'API Compute Engine.
Console
Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando la console Google Cloud:
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul nome della VM per cui vuoi aggiungere una chiave SSH.
Fai clic su Modifica.
In Chiavi SSH, fai clic su Aggiungi elemento.
Aggiungi la chiave pubblica nella casella di testo. La chiave deve essere in uno dei seguenti formati:
- Formato di una chiave senza scadenza:
KEY_VALUE USERNAME
- Formato di una chiave con data di scadenza:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connettersi alle VM Linux come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato di una chiave senza scadenza:
Fai clic su Salva.
gcloud
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Se nei metadati dell'istanza sono già presenti chiavi SSH, devi aggiungerle nuovamente ai metadati dell'istanza ogni volta che aggiungi una nuova chiave SSH utilizzando l'interfaccia a gcloud CLI. Se non aggiungi di nuovo le chiavi esistenti, l'aggiunta di una nuova chiave cancellerà quelle esistenti.
Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando l'interfaccia a riga di comando gcloud, segui questi passaggi:
Se la tua VM dispone già di chiavi SSH pubbliche a livello di istanza, recuperale dai metadati e aggiungile a un nuovo file:
Esegui il comando
gcloud compute instances describe
per ottenere 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 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"} ...Copia il valore dei metadati
ssh-keys
.Crea e apri un nuovo file di testo sulla workstation.
Incolla nel file l'elenco delle chiavi copiate.
Aggiungi la nuova chiave alla fine dell'elenco, in uno dei seguenti formati:
- Formato di una chiave senza scadenza:
USERNAME:KEY_VALUE
- Formato di una chiave con data di scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Salva e chiudi il file.
Esegui il comando
gcloud compute instances add-metadata
per impostare il valoressh-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 SSHKEY_FILE
con uno dei seguenti tipi di documenti:- Il percorso del file creato nel passaggio precedente, se la VM aveva chiavi SSH esistenti
- Il percorso del nuovo file di chiavi SSH pubbliche, se la VM non aveva chiavi SSH esistenti
REST
Se nei metadati dell'istanza sono già presenti chiavi SSH, devi aggiungerle nuovamente 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, l'aggiunta di una nuova chiave cancellerà quelle esistenti.
Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando l'API Compute Engine:
Ottieni i valori
fingerprint
essh-keys
dai metadati utilizzando il metodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona della VM in cui aggiungere una chiave SSHVM_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"}" } ] ...
Aggiungi il nuovo valore
ssh-keys
utilizzando il metodoinstances.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 progettoEXISTING_SSH_KEYS
: il valore della chiavessh-keys
nella risposta alla richiestainstances.get
FINGERPRINT
: il valorefingerprint
della risposta alla richiestaprojects.get
NEW_SSH_KEY
: la nuova chiave SSH, in uno dei seguenti formati:- Formato di una chiave senza scadenza:
USERNAME:KEY_VALUE
- Formato di una chiave con data di scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave SSH pubblicaUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux, il
USERNAME
non può essereroot
, a meno che non configuri la VM per consentire l'accesso root. Per maggiori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), il nome utente deve essere anteposto al dominio AD, nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
haUSERNAME
diexample\cloudysanfrancisco
.EXPIRE_TIME
: l'ora di scadenza della chiave, in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato di una chiave senza scadenza:
Che cosa succede dopo?
- Scopri come connetterti alle VM.
- Scopri come gestire l'accesso alle VM.
- Scopri come trasferire file alle VM.
- Scopri come funzionano le connessioni SSH alle VM Linux su Compute Engine.