Questo documento descrive come aggiungere chiavi SSH alle istanze di macchine virtuali (VM) che utilizzano OS Login e le VM che utilizzano chiavi SSH basate su metadati. Se tu o l'amministratore della tua organizzazione non avete attivato OS Login, le VM utilizzano chiavi SSH basate su metadati.
Prima di iniziare
- Per informazioni sulla gestione dell'accesso alle VM Compute Engine, consulta 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 è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google 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.
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 pubblica SSH 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 al di fuori della tua organizzazione o se non fai parte di un'organizzazione Cloud IdentityEXPIRE_TIME
: facoltativo, la data di scadenza della chiave SSHAd esempio, se specifichi
30m
, la chiave SSH scade dopo 30 minuti.Questo flag utilizza le seguenti unità:
s
per secondim
per minutih
per ored
per giorni
ACCOUNT_EMAIL
: l'indirizzo email associato al tuo accountSSH_KEY
: la chiave pubblica da aggiungere all'accountEXPIRATION_TIMESTAMP
: la data e l'ora di scadenza della chiave in microsecondi dall'epoca (1 secondo = 106 microsecondi)Nella console Google Cloud, vai alla pagina Metadati.
Fai clic sulla scheda Chiavi SSH.
Fai clic su Modifica.
Fai clic su Aggiungi elemento.
Nel campo Chiave SSH che si apre, aggiungi la tua chiave SSH pubblica. La chiave deve essere in uno dei seguenti formati:
- Formato per una chiave senza data e ora di scadenza:
KEY_VALUE USERNAME
- Formato per una chiave con una scadenza:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connettersi alle VM Linux come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato per una chiave senza data e ora di scadenza:
Fai clic su Salva.
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, l'aggiunta di una nuova chiave comporta l'eliminazione di quelle esistenti.
Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando gcloud CLI, procedi nel seguente modo:
Se il progetto ha già 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 tua workstation.
Nel file, incolla l'elenco di chiavi appena copiato.
Aggiungi la nuova chiave alla fine dell'elenco in uno dei seguenti formati:
- Formato per una chiave senza data e ora di scadenza:
USERNAME:KEY_VALUE
- Formato per una chiave con una scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato per una chiave senza data e ora di 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 una delle seguenti opzioni:- Il percorso del file 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
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
della risposta alla richiestaprojects.get
FINGERPRINT
: il valore difingerprint
dalla risposta della richiestaprojects.get
NEW_SSH_KEY
: la nuova chiave SSH, in uno dei seguenti formati:- Formato per una chiave senza data e ora di scadenza:
USERNAME:KEY_VALUE
- Formato per una chiave con una scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato per una chiave senza data e ora di scadenza:
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Specifica i dettagli della VM.
Espandi la sezione Opzioni avanzate e segui questi passaggi:
Espandi la sezione Sicurezza.
Seleziona Aggiungi manualmente le chiavi SSH generate.
Fai clic su Aggiungi elemento.
Aggiungi la tua chiave pubblica nella casella di testo. La chiave deve essere in uno dei seguenti formati:
- Formato per una chiave senza data e ora di scadenza:
KEY_VALUE USERNAME
- Formato per una chiave con una scadenza:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connettersi alle VM Linux come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato per una chiave senza data e ora di scadenza:
Per creare e avviare la VM, fai clic su Crea.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google 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.
Per creare contemporaneamente una VM e aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando l'interfaccia alla 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 pubblica SSH, in uno dei seguenti formati:- Formato per una chiave senza data e ora di scadenza:
USERNAME:KEY_VALUE
- Formato per una chiave con una scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
all'interno dell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato per una chiave senza data e ora di 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.PROJECT_ID
: l'ID progettoZONE
: la zona della VM- Formato per una chiave senza data e ora di scadenza:
USERNAME:KEY_VALUE
- Formato per una chiave con una scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
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 tua chiave pubblica nella casella di testo. La chiave deve essere in uno dei seguenti formati:
- Formato per una chiave senza data e ora di scadenza:
KEY_VALUE USERNAME
- Formato per una chiave con una scadenza:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connettersi alle VM Linux come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato per una chiave senza data e ora di scadenza:
Fai clic su Salva.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google 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.
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 la gcloud CLI. Se non aggiungi nuovamente le chiavi esistenti, l'aggiunta di una nuova chiave comporta l'eliminazione delle chiavi esistenti.
Per aggiungere una chiave SSH pubblica ai metadati dell'istanza utilizzando l'interfaccia alla gcloud CLI, procedi nel seguente modo:
Se la VM ha già chiavi SSH pubbliche a livello di istanza, recuperale dai metadati e aggiungile a un nuovo file:
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 la quale 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"} ...Copia il valore dei metadati
ssh-keys
.Crea e apri un nuovo file di testo sulla tua workstation.
Nel file, incolla l'elenco di chiavi appena copiato.
Aggiungi la nuova chiave alla fine dell'elenco in uno dei seguenti formati:
- Formato per una chiave senza data e ora di scadenza:
USERNAME:KEY_VALUE
- Formato per una chiave con una scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e 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 dispositivi:- Il percorso del file 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
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 a 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
della risposta della richiestainstances.get
FINGERPRINT
: ilfingerprint
dalla risposta della richiestaprojects.get
NEW_SSH_KEY
: la nuova chiave SSH, in uno dei seguenti formati:- Formato per una chiave senza data e ora di scadenza:
USERNAME:KEY_VALUE
- Formato per una chiave con una scadenza:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Sostituisci quanto segue:
KEY_VALUE
: il valore della chiave pubblica SSHUSERNAME
: il tuo nome utente. Ad esempio,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Per le VM Linux,
USERNAME
non può essereroot
, a meno che non configurerai la VM in modo da consentire l'accesso come utente root. Per ulteriori informazioni, consulta Connessione alle istanze come utente root.Per le VM Windows che utilizzano Active Directory (AD), al nome utente deve essere anteposto il dominio AD nel formato
DOMAIN\
. Ad esempio, l'utentecloudysanfrancisco
nell'annuncioad.example.com
ha unUSERNAME
pari aexample\cloudysanfrancisco
.EXPIRE_TIME
: la data e l'ora di scadenza della chiave in formato ISO 8601. Ad esempio:2021-12-04T20:12:00+0000
- Formato per una chiave senza data e ora di scadenza:
- 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.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
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 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 combinando il nome utente e il dominio dell'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 in un progetto esterno alla tua organizzazione, al tuo nome utente viene antepostoext_
, ad esempioext_cloudysanfrancisco_gmail_com
. L'amministratore dell'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
Terraform
Per aggiungere una chiave SSH pubblica al tuo account, utilizza la risorsa
google_client_openid_userinfo
insieme alla risorsagoogle_os_login_ssh_public_key
.REST
Per aggiungere una chiave SSH pubblica al tuo account, utilizza il
users.importSshPublicKey
metodo dell'API OS Login:POST https://oslogin.googleapis.com/v1/users/ACCOUNT_EMAIL:importSshPublicKey { "key": "SSH_KEY", "expirationTimeUsec": "EXPIRATION_TIMESTAMP" }
Sostituisci quanto segue:
Aggiungere chiavi SSH alle VM che utilizzano chiavi SSH basate su metadati
Le VM che non utilizzano OS Login memorizza le chiavi SSH nei metadati del progetto e delle istanze di Compute Engine. Se l'OS Login è abilitato per una VM, l'agente ospite della VM ignora le chiavi memorizzate nei metadati.
Puoi utilizzare le chiavi SSH memorizzate nei metadati del progetto per accedere a tutte le VM di un progetto. Puoi utilizzare le chiavi SSH memorizzate nei metadati delle istanze per accedere alle 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 del progetto o dell'istanza VM utilizzando la console Google Cloud, la CLI gcloud o REST.
Aggiungere 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 Blocca le 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, segui questi passaggi:
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google 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.
Terraform
Per aggiungere una chiave SSH pubblica ai metadati del progetto, utilizza la risorsa
google_compute_project_metadata
.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, l'aggiunta di una nuova chiave comporta l'eliminazione di quelle esistenti.
Per aggiungere una chiave SSH pubblica ai metadati del progetto utilizzando l'API Compute Engine, segui questi passaggi:
Aggiungere 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.
Aggiungere 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 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, segui questi passaggi:
gcloud
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 pubblica SSH ai metadati dell'istanza utilizzando Compute Engine, crea una richiesta
POST
al metodoinstances.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Sostituisci quanto segue:
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:Sostituisci quanto segue:
Puoi aggiungere più chiavi SSH inserendo
\n
tra le chiavi.Aggiungere 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 console Google Cloud, gcloud CLI o l'API Compute Engine.
Console
Per aggiungere una chiave pubblica SSH ai metadati dell'istanza utilizzando la console Google Cloud, segui questi passaggi:
gcloud
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 nuovamente le chiavi esistenti, l'aggiunta di una nuova chiave comporta l'eliminazione delle chiavi esistenti.
Per aggiungere una chiave pubblica SSH ai metadati dell'istanza utilizzando l'API Compute Engine:
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-11-23 UTC.
-