Le VM che supportano i certificati OS Login supportano le connessioni da chiavi SSH e certificati SSH. I certificati SSH sono chiavi SSH firmate da un'altra chiave attendibile, in questo caso un'autorità di certificazione gestita da OS Login. Questo documento descrive come configurare le VM OS Login in modo che richiedano certificati SSH per le connessioni SSH e blocchino le connessioni da chiavi SSH non firmate.
Quando configuri OS Login in modo che richieda certificati SSH per le connessioni alle VM, solo i certificati SSH firmati dall'autorità di certificazione sono autorizzati a connettersi alle VM; le connessioni da chiavi SSH non firmate vengono rifiutate. I certificati SSH hanno una scadenza di cinque minuti, dopodiché non possono più essere utilizzati per connettersi alle VM e deve essere generato un nuovo certificato.
Ti consigliamo di configurare OS Login in modo che richieda certificati SSH per le connessioni SSH come ulteriore livello di sicurezza contro gli utenti malintenzionati. I certificati SSH sono di breve durata e sono validi solo per una VM specifica, il che significa che se vengono compromessi, la loro superficie di attacco è notevolmente più piccola e la loro finestra di attacco è notevolmente più breve di quella delle chiavi SSH di lunga durata.
Se la tua organizzazione utilizza la federazione delle identità della forza lavoro, consulta Utilizzare la federazione delle identità della forza lavoro con OS Login per scoprire come attivare i certificati SSH per la tua organizzazione.
Prima di iniziare
- Configura OS Login e assegna i ruoli IAM OS Login.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Per utilizzare i certificati SSH, la VM a cui ti connetti deve avere OpenSSH versione 7.4 o successive.
Vai alla pagina Metadati.
Fai clic su Modifica.
Fai clic su Aggiungi elemento.
- Nel campo Chiave, inserisci
enable-oslogin
. - Nel campo Valore, inserisci
TRUE
.
- Nel campo Chiave, inserisci
Fai clic su Aggiungi elemento.
- Nel campo Chiave, inserisci
enable-oslogin-certificates
. - Nel campo Valore, inserisci
TRUE
.
- Nel campo Chiave, inserisci
Fai clic su Salva.
Vai alla pagina Istanze VM.
Fai clic sul nome della VM per cui vuoi richiedere i certificati SSH.
Fai clic su Modifica.
Nella sezione Metadati, fai clic su Aggiungi elemento.
- Nel campo Chiave, inserisci
enable-oslogin
. - Nel campo Valore, inserisci
TRUE
.
- Nel campo Chiave, inserisci
Fai clic su Aggiungi elemento.
- Nel campo Chiave, inserisci
enable-oslogin-certificates
. - Nel campo Valore, inserisci
TRUE
.
- Nel campo Chiave, inserisci
Fai clic su Salva.
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Crea una chiave SSH se non ne hai già una.
Firma la chiave SSH pubblica utilizzando il metodo
projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" "compute_instance": "COMPUTE_INSTANCE", "service_account": "SERVICE_ACCOUNT" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto che contiene la VM a cui vuoi connettertiLOCATION
: la regione in cui si trova la VM a cui vuoi connettertiPUBLIC_KEY
: i contenuti del file della chiave pubblica SSHCOMPUTE_INSTANCE
: l'istanza Compute Engine a cui connettersi, nel formatoprojects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID
.SERVICE_ACCOUNT
: il account di servizio collegato all'istanza. Elimina questo campo se all'istanza non è collegato un account di servizio.
Copia il certificato SSH dall'output del metodo
projects.locations.signSshPublicKey
e salva i contenuti in un nuovo file.Imposta le autorizzazioni sul file del certificato SSH eseguendo il seguente comando:
sudo chmod 600 FILE_NAME
Sostituisci
FILE_NAME
con il nome del file.Connettiti alla VM utilizzando il seguente comando:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Sostituisci quanto segue:
PATH_TO_PRIVATE_KEY
: il percorso del file della chiave SSH privata.PATH_TO_SSH_CERTIFICATE
: il percorso del file del certificato SSH.USERNAME
: il tuo nome utente OS LoginEXTERNAL_IP
: l'indirizzo IP esterno della VM.
- La tua VM utilizza una versione non supportata di OpenSSH. Per
risolvere questo problema, disabilita i certificati nei metadati della VM impostando
enable-oslogin-certificates
suFALSE
nei metadati dell'istanza. - Scopri di più su OS Login.
- Scopri come configurare OS Login con la verifica in due passaggi.
- Scopri come gestire OS Login in un'organizzazione.
Limitazioni
Richiedi certificati SSH
Puoi configurare OS Login in modo che richieda i certificati SSH per tutte le connessioni SSH alle VM OS Login nel tuo progetto o per singole VM. Dopo aver configurato OS Login in modo che richieda i certificati SSH, le connessioni SSH dalla console Google Cloud e da gcloud CLI utilizzano i certificati SSH per impostazione predefinita. Se non vuoi configurare OS Login in modo che richieda i certificati, ma vuoi utilizzare i certificati per connetterti alle VM, devi connetterti utilizzando strumenti di terze parti, come descritto nella sezione Connettersi a una VM utilizzando un certificato SSH.
Richiedere certificati SSH per tutte le VM con OS Login abilitato in un progetto
Per richiedere i certificati SSH per tutte le connessioni a tutte le VM che utilizzano OS Login nel tuo progetto, utilizza la console Google Cloud o gcloud CLI.
Console
Per richiedere i certificati SSH per tutte le connessioni alle VM abilitate per OS Login, utilizza la console Google Cloud per impostare
enable-oslogin
eenable-oslogin-certificates
suTRUE
nei metadati del progetto:gcloud
Per richiedere i certificati SSH per tutte le connessioni alle VM abilitate per OS Login, utilizza il comando
gcloud compute project-info add-metadata
per impostareenable-oslogin=TRUE
eenable-oslogin-certificates=TRUE
nei metadati del progetto:gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Richiedere certificati SSH su una singola VM con OS Login abilitato
Per richiedere i certificati per tutte le connessioni SSH a una singola VM che utilizza OS Login, utilizza la console Google Cloud o gcloud CLI.
Console
Per richiedere i certificati SSH per tutte le connessioni a una singola VM, utilizza la consoleGoogle Cloud per impostare
enable-oslogin
eenable-oslogin-certificates
suTRUE
nei metadati dell'istanza:gcloud
Per richiedere i certificati SSH per tutte le connessioni a una singola VM, utilizza il comando
gcloud compute instances add-metadata
per impostareenable-oslogin=TRUE
eenable-oslogin-certificates=TRUE
nei metadati dell'istanza:gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Sostituisci
VM_NAME
con il nome della tua VM.Connettiti a una VM utilizzando un certificato SSH
Dopo aver configurato OS Login in modo che richieda i certificati SSH, le connessioni SSH dalla console Google Cloud e da gcloud CLI utilizzano i certificati SSH per impostazione predefinita. Se non vuoi configurare OS Login in modo che richieda i certificati, ma vuoi utilizzare i certificati per connetterti alle VM, devi connetterti utilizzando strumenti di terze parti.
Console
Connettiti alle VM utilizzando SSH nel browser dalla consoleGoogle Cloud , procedendo nel seguente modo:
gcloud
Utilizza il comando
gcloud beta compute ssh
per connetterti a una VM utilizzando un certificato:gcloud beta compute ssh VM_NAME
Sostituisci
VM_NAME
con il nome della VM a cui vuoi connetterti.Strumenti di terze parti
Per utilizzare un certificato SSH con un client SSH di terze parti:
Risoluzione dei problemi
Se non riesci a connetterti alle VM che hai configurato per richiedere certificati SSH, il motivo potrebbe essere uno dei seguenti:
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 2025-07-11 UTC.
-