Questo documento descrive come impedire agli utenti di accedere alle istanze di macchine virtuali (VM) rimuovendo e bloccando le chiavi SSH dalle VM.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso a Trusted Cloud by S3NS servizi e API. 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Rimuovere le chiavi SSH
Puoi rimuovere una chiave SSH pubblica dai metadati del progetto o dell'istanza utilizzando la consoleTrusted Cloud , gcloud CLI o l'API Compute Engine.
Dopo aver rimosso l'ultima chiave dai metadati per un determinato utente o quando l'ultima chiave nei metadati per un determinato utente scade, Compute Engine elimina il file
~/.ssh/authorized_keys
dell'utente sulla VM.Rimuovere una chiave pubblica dai metadati del progetto
Rimuovi una chiave SSH pubblica dai metadati del progetto per rimuovere l'accesso a tutte le VM di un progetto.
Quando rimuovi una chiave dai metadati utilizzando gcloud CLI e l'API Compute Engine, devi recuperare l'elenco delle chiavi esistenti, modificare l'elenco delle chiavi per rimuovere quelle indesiderate e sovrascrivere le chiavi precedenti con l'elenco delle chiavi che vuoi conservare, come spiegato nella sezione seguente.
Console
Per rimuovere una chiave SSH pubblica dai metadati del progetto utilizzando la consoleTrusted Cloud , segui questi passaggi:
Nella console Trusted Cloud , vai alla pagina Metadati
Fai clic sulla scheda Chiavi SSH.
Fai clic su
Modifica nella parte superiore della pagina.Vai alla chiave SSH che vuoi rimuovere e fai clic sul pulsante di eliminazione
accanto alla chiave SSH.Ripeti questo passaggio per ogni chiave SSH che vuoi rimuovere.
Fai clic su Salva.
gcloud
Per rimuovere una chiave SSH pubblica dai metadati del progetto utilizzando gcloud CLI, procedi nel seguente modo:
Esegui il comando
gcloud compute project-info describe
per recuperare i metadati del progetto:gcloud compute project-info describe
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 SSH appena copiato, quindi elimina le chiavi che vuoi rimuovere dai metadati del progetto.
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 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.
REST
Per rimuovere una chiave SSH pubblica dai metadati del progetto utilizzando l'API Compute Engine, procedi nel seguente modo:
Utilizza il metodo
projects.get
per ottenere i valorifingerprint
essh-keys
dai metadati.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"}" } ] ...
Copia l'elenco dei valori delle chiavi SSH ed elimina le chiavi che vuoi rimuovere.
Utilizza
projects.setCommonInstanceMetadata
per rimuovere le chiavi SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS" } ] "fingerprint": "FINGERPRINT" }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoEXISTING_SSH_KEYS
: l'elenco delle chiavi SSH che vuoi conservareFINGERPRINT
: il valore difingerprint
dalla risposta della richiestaprojects.get
Rimuovi una chiave SSH pubblica dai metadati dell'istanza
Rimuovi una chiave SSH pubblica dai metadati dell'istanza per rimuovere l'accesso a una singola VM.
Quando rimuovi una chiave dai metadati utilizzando gcloud CLI e l'API Compute Engine, devi recuperare l'elenco delle chiavi esistenti, modificare l'elenco delle chiavi per rimuovere quelle indesiderate e sovrascrivere le chiavi precedenti con l'elenco delle chiavi che vuoi conservare, come spiegato nella sezione seguente.
Console
Per rimuovere una chiave SSH pubblica dai metadati dell'istanza utilizzando la consoleTrusted Cloud , segui questi passaggi:
Nella console Trusted Cloud , vai alla pagina Istanze VM.
Fai clic sul nome della VM per cui vuoi rimuovere una chiave.
Fai clic su Modifica.
Nella sezione Chiavi SSH, fai clic su Mostra e modifica. La sezione si espande per mostrare tutte le chiavi SSH pubbliche a livello di istanza.
Fai clic sul pulsante Elimina
accanto alla chiave SSH che vuoi rimuovere.Ripeti questo passaggio per ogni chiave SSH che vuoi rimuovere.
Fai clic su Salva.
gcloud
Per rimuovere una chiave SSH pubblica dai metadati dell'istanza utilizzando gcloud CLI, procedi nel seguente modo:
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"} ...Copia il valore dei metadati
ssh-keys
.Crea e apri un nuovo file di testo sulla workstation locale.
Nel file, incolla l'elenco di chiavi SSH appena copiato, quindi rimuovi le chiavi che vuoi eliminare.
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 instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
Sostituisci quanto segue:
VM_NAME
: la VM per cui vuoi rimuovere la chiave SSHKEY_FILE
: il percorso del file che contiene l'elenco di tutte le chiavi SSH del progetto
REST
Per rimuovere una chiave SSH pubblica dai metadati dell'istanza utilizzando l'API Compute Engine, procedi nel seguente modo:
Utilizza il metodo
instances.get
per ottenere i valorifingerprint
essh-keys
dai metadati.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 per cui stai aggiungendo 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"}" } ] ...
Copia l'elenco dei valori delle chiavi SSH ed elimina le chiavi che vuoi rimuovere.
Utilizza
instances.setMetadata
per rimuovere le chiavi SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS } ] "fingerprint": "FINGERPRINT" }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoEXISTING_SSH_KEYS
: il valore della chiavessh-keys
ottenuta dalla risposta della richiestaprojects.get
FINGERPRINT
: il valore difingerprint
dalla risposta della richiestainstances.get
Blocca le chiavi SSH del progetto dalle VM che utilizzano chiavi SSH basate su metadati
Puoi impedire alle VM di accettare le chiavi SSH archiviate nei metadati del progetto bloccando le chiavi SSH del progetto dalle VM. Puoi bloccare le chiavi SSH del progetto dalle VM quando crei una VM o dopo aver creato una VM.
Blocca le chiavi SSH del progetto da una VM durante la creazione della VM
Puoi bloccare le chiavi SSH del progetto dalle VM durante la creazione della VM utilizzando la consoleTrusted Cloud , gcloud CLI o l'API Compute Engine.
Console
Per creare un'istanza e impedirle di accettare le chiavi SSH archiviate nei metadati del progetto utilizzando la console Trusted Cloud , procedi nel seguente modo:
Nella console Trusted Cloud , vai alla pagina Crea un'istanza.
Per bloccare le chiavi SSH del progetto:
Nel menu di navigazione, fai clic su Sicurezza.
Espandi la sezione Gestisci accesso.
Per disattivare OS Login, deseleziona la casella di controllo Controlla l'accesso alle VM tramite autorizzazioni IAM.
Seleziona la casella di controllo Blocca chiavi SSH a livello di progetto.
(Facoltativo) Specifica altre opzioni di configurazione. Per ulteriori informazioni, consulta Opzioni di configurazione durante la creazione dell'istanza.
Per creare e avviare l'istanza, fai clic su Crea.
gcloud
Per creare una VM e impedirle di accettare le chiavi SSH archiviate nei metadati del progetto utilizzando gcloud CLI, utilizza il comando
gcloud compute instances create
:gcloud compute instances create VM_NAME \ --metadata block-project-ssh-keys=TRUE
Sostituisci
VM_NAME
con il nome della nuova VM.REST
Per creare una VM e impedirle di accettare le chiavi SSH archiviate nei metadati del progetto 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:
PROJECT_ID
: l'ID progettoZONE
: la zona della VM
Nel corpo della richiesta, fornisci i nomi utente e le chiavi SSH pubbliche nella proprietà
items
:... { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] } ...
Blocca le chiavi SSH del progetto da una VM dopo la creazione della VM
Puoi bloccare le chiavi SSH del progetto dalle VM dopo la creazione della VM utilizzando la consoleTrusted Cloud , gcloud CLI o l'API Compute Engine.
Console
Per impedire alle VM di accettare connessioni dalle chiavi SSH archiviate nei metadati del progetto utilizzando la console Trusted Cloud , segui questi passaggi:
Nella console Trusted Cloud , vai alla pagina Istanze VM.
Fai clic sul nome della VM per cui vuoi bloccare le chiavi SSH del progetto.
Fai clic su Modifica.
Nella sezione Chiavi SSH, seleziona la casella di controllo Blocca chiavi SSH a livello di progetto.
Al termine della modifica dell'impostazione di connessione per le chiavi SSH, fai clic su Salva.
gcloud
Per impedire alle VM di accettare connessioni dalle chiavi SSH archiviate nei metadati del progetto utilizzando gcloud CLI, segui questi passaggi:
Esegui il comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME --metadata block-project-ssh-keys=TRUE
Sostituisci
VM_NAME
con il nome della VM per cui vuoi bloccare le chiavi SSH pubbliche a livello di progetto.REST
Per impedire alle VM di accettare connessioni dalle chiavi SSH archiviate nei metadati del progetto utilizzando l'API Compute Engine, procedi nel seguente modo:
Utilizza il metodo
instances.get
per ottenerefingerprint
dai metadati.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 per cui stai aggiungendo una chiave SSHVM_NAME
: la VM per cui stai aggiungendo una chiave SSH
La risposta è simile alla seguente:
... "fingerprint": "utgYE_XWtE8=" ...
Utilizza il metodo
instances.setMetadata
per impostareblock-project-ssh-keys
suTRUE
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] "fingerprint": "FINGERPRINT" }
Sostituisci quanto segue:
PROJECT_ID
è l'ID progettoZONE
è la zona in cui si trova l'istanzaINSTANCE_NAME
è l'istanza in cui vuoi bloccare le chiavi a livello di progetto.FINGERPRINT
: il valore difingerprint
dalla risposta della richiestainstances.get
.
Passaggi successivi
- Connettiti alle VM utilizzando gli strumenti Google, in modo da non dover gestire le tue chiavi SSH.
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 2025-09-30 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-30 UTC."],[],[],null,[]] -