Las VMs que admiten certificados de Acceso al SO admiten conexiones desde claves y certificados SSH. Los certificados SSH son claves SSH que firmó otra clave de confianza, en este caso, una autoridad certificadora que administra el acceso al SO. En este documento, se describe cómo configurar VMs con Acceso a SO para que requieran certificados SSH para las conexiones SSH y bloqueen las conexiones de claves SSH sin firmar.
Cuando configuras el Acceso al SO para que requiera certificados SSH para las conexiones a las VMs, solo se permiten los certificados SSH firmados por la autoridad certificadora para conectarse a las VMs. Se rechazan las conexiones de las claves SSH sin firmar. Los certificados SSH tienen una fecha de vencimiento de cinco minutos, después de la cual ya no se pueden usar para conectarse a las VMs y se debe generar un certificado nuevo.
Recomendamos configurar el Acceso al SO para que requiera certificados SSH para las conexiones SSH como una capa adicional de seguridad contra usuarios maliciosos. Los certificados SSH son de corta duración y solo son válidos para una VM específica, lo que significa que, si se vulneran, su superficie de ataque es significativamente menor y su ventana de ataque es significativamente más corta que la de las claves SSH de larga duración.
Si tu organización usa la federación de identidades de personal, consulta Usa la federación de identidades de personal con el Acceso al SO para obtener información sobre cómo habilitar los certificados SSH para tu organización.
Antes de comenzar
- Configura el Acceso al SO y asigna roles de IAM de Acceso al SO.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las APIs de Google Cloud .
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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.
- La VM a la que te conectas debe tener OpenSSH 7.4 o una versión posterior para usar certificados SSH.
Ve a la página Metadatos.
Haz clic en Editar.
Haz clic en Agregar elemento.
- En el campo Clave, ingresa
enable-oslogin
. - En el campo Valor, ingresa
TRUE
.
- En el campo Clave, ingresa
Haz clic en Agregar elemento.
- En el campo Clave, ingresa
enable-oslogin-certificates
. - En el campo Valor, ingresa
TRUE
.
- En el campo Clave, ingresa
Haz clic en Guardar.
Ve a la página Instancias de VM.
Haz clic en el nombre de la VM para la que deseas solicitar certificados SSH.
Haz clic en Editar.
En la sección Metadatos, haz clic en Agregar elemento.
- En el campo Clave, ingresa
enable-oslogin
. - En el campo Valor, ingresa
TRUE
.
- En el campo Clave, ingresa
Haz clic en Agregar elemento.
- En el campo Clave, ingresa
enable-oslogin-certificates
. - En el campo Valor, ingresa
TRUE
.
- En el campo Clave, ingresa
Haz clic en Guardar.
- 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 clave SSH si aún no tienes una.
Firma tu clave SSH pública con el método
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" }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto que contiene la VM a la que deseas conectarteLOCATION
: La región en la que se encuentra la VM a la que deseas conectartePUBLIC_KEY
: el contenido de tu archivo de clave pública SSHCOMPUTE_INSTANCE
: Es la instancia de Compute Engine a la que se conectará, en el formatoprojects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID
.SERVICE_ACCOUNT
: Es la cuenta de servicio adjunta a la instancia. Borra este campo si la instancia no tiene una cuenta de servicio adjunta.
Copia el certificado SSH del resultado del método
projects.locations.signSshPublicKey
y guarda el contenido en un archivo nuevo.Ejecuta el siguiente comando para configurar los permisos en el archivo del certificado SSH:
sudo chmod 600 FILE_NAME
Reemplaza
FILE_NAME
por el nombre del archivo.Conéctate a la VM con el siguiente comando:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Reemplaza lo siguiente:
PATH_TO_PRIVATE_KEY
: Es la ruta de acceso al archivo de clave SSH privada.PATH_TO_SSH_CERTIFICATE
: la ruta de acceso al archivo del certificado SSH.USERNAME
: Tu nombre de usuario de Acceso al SOEXTERNAL_IP
: la dirección IP externa de la VM.
- Tu VM usa una versión no compatible de OpenSSH. Para solucionar este problema, inhabilita los certificados en los metadatos de la VM configurando
enable-oslogin-certificates
enFALSE
en los metadatos de instancia. - Obtén más información sobre OS Login.
- Obtén información sobre cómo configurar el Acceso al SO con la verificación en dos pasos.
- Obtén información sobre cómo administrar el Acceso al SO en una organización.
Limitaciones
Exige certificados SSH
Puedes configurar el Acceso al SO para que requiera certificados SSH para todas las conexiones SSH a las VMs con Acceso al SO en tu proyecto o para VMs individuales. Después de configurar el Acceso al SO para que requiera certificados SSH, las conexiones SSH desde la consola de Google Cloud y gcloud CLI usan certificados SSH de forma predeterminada. Si no deseas configurar el Acceso al SO para que requiera certificados, pero quieres usar certificados para conectarte a las VMs, debes conectarte con herramientas de terceros, como se describe en la sección Conéctate a una VM con un certificado SSH.
Exige certificados SSH para todas las VMs que tienen habilitado el Acceso al SO en un proyecto
Para requerir certificados SSH para todas las conexiones a todas las VMs que usan el Acceso al SO en tu proyecto, usa la consola de Google Cloud o gcloud CLI.
Console
Para requerir certificados SSH para todas las conexiones a las VMs que tienen habilitado el Acceso al SO, usa la consola de Google Cloud para establecer
enable-oslogin
yenable-oslogin-certificates
enTRUE
en los metadatos del proyecto:gcloud
Para requerir certificados SSH para todas las conexiones a las VMs que tienen habilitado el Acceso al SO, usa el comando
gcloud compute project-info add-metadata
para configurarenable-oslogin=TRUE
yenable-oslogin-certificates=TRUE
en los metadatos del proyecto:gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Cómo exigir certificados SSH en una sola VM que tenga habilitado el Acceso al SO
Para requerir certificados para todas las conexiones SSH a una sola VM que usa el Acceso al SO, usa la consola de Google Cloud o gcloud CLI.
Console
Para exigir certificados SSH para todas las conexiones a una sola VM, usa la consola deGoogle Cloud para establecer
enable-oslogin
yenable-oslogin-certificates
enTRUE
en los metadatos de la instancia:gcloud
Para exigir certificados SSH para todas las conexiones a una sola VM, usa el comando
gcloud compute instances add-metadata
para configurarenable-oslogin=TRUE
yenable-oslogin-certificates=TRUE
en los metadatos de la instancia:gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Reemplaza
VM_NAME
por el nombre de tu VM.Conéctate a una VM con un certificado SSH
Después de configurar el Acceso al SO para que requiera certificados SSH, las conexiones SSH desde la consola Google Cloud y gcloud CLI usan certificados SSH de forma predeterminada. Si no quieres configurar el Acceso al SO para que requiera certificados, pero quieres usar certificados para conectarte a las VMs, debes conectarte con herramientas de terceros.
Console
Para conectarte a las VMs con SSH en el navegador desde la consola deGoogle Cloud , haz lo siguiente:
gcloud
Usa el comando
gcloud beta compute ssh
para conectarte a una VM con un certificado:gcloud beta compute ssh VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM a la que deseas conectarte.Herramientas de terceros
Para usar un certificado SSH con un cliente SSH externo, haz lo siguiente:
Soluciona problemas
Si no puedes conectarte a las VMs que configuraste para que requieran certificados SSH, es posible que se deba a lo siguiente:
Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-11 (UTC)
-