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 i 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à per la forza lavoro, consulta la sezione Utilizzare la federazione delle identità per la 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 verifica la tua identità per l'accesso a Google Cloud 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
- Set a default region and zone.
Limitazioni
- La VM a cui ti connetti deve avere OpenSSH versione 7.4 o successive per utilizzare i certificati SSH.
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 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.
Richiedi 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: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.
gcloud
Per richiedere i certificati SSH per tutte le connessioni alle VM con OS Login abilitato, 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: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.
gcloud
Per richiedere 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 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 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 nel modo seguente:
- 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.
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:
Crea una chiave SSH se non ne hai già una.
Firma la tua chiave pubblica SSH 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.
Risoluzione dei problemi
Se non riesci a connetterti alle VM che hai configurato per richiedere certificati SSH, il motivo potrebbe essere uno dei seguenti:
- La tua VM utilizza una versione non supportata di OpenSSH. Per
risolvere questo problema, disattiva i certificati nei metadati della VM impostando
enable-oslogin-certificates
suFALSE
nei metadati dell'istanza.
Passaggi successivi
- 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.
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-11 UTC.
-