Las VMs que admiten certificados de Acceso al SO admiten conexiones desde claves SSH 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 de Acceso al SO para que requieran certificados SSH para las conexiones SSH y bloqueen las conexiones desde claves SSH sin firmar.
Cuando configuras el Acceso al SO para que requiera certificados SSH para las conexiones a las VMs, solo se permite que los certificados SSH que firmó la autoridad certificadora se conecten a las VMs. Se rechazan las conexiones desde claves SSH sin firmar. Los certificados SSH tienen un vencimiento de cinco minutos, después de los cuales ya no se pueden usar para conectarse a las VMs y se debe generar un certificado nuevo.
Te recomendamos que configures el Acceso al SO para que requiera certificados SSH para las conexiones SSH como una capa de seguridad adicional 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 mucho más pequeña y su ventana de ataque es mucho 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.
-
Configura la autenticación si aún no lo hiciste.
La autenticación verifica tu identidad para acceder a los Google Cloud servicios y las APIs. Para ejecutar
código o muestras desde un entorno de desarrollo local, puedes autenticarte en
Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña según cómo planeas usar las muestras en esta página:
Console
Cuando usas la Google Cloud consola para acceder a los Google Cloud servicios y las APIs, no necesitas configurar la autenticación.
gcloud
-
Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
Limitaciones
- La VM a la que te conectas debe tener OpenSSH 7.4 o una versión posterior para usar certificados SSH.
Requiere certificados SSH
Puedes configurar el Acceso al SO para que requiera certificados SSH para todas las conexiones SSH a las VMs de 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 Google Cloud consola de y la 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, como se describe en la sección Conéctate a una VM con un certificado SSH.
Requiere certificados SSH para todas las VMs que tienen Acceso al SO habilitado 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 Google Cloud consola de o gcloud CLI.
Console
Para requerir certificados SSH para todas las conexiones a las VMs que tienen Acceso al SO habilitado, usa
la Google Cloud consola de para configurar enable-oslogin y
enable-oslogin-certificates en TRUE en los metadatos del proyecto:
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.
gcloud
Para requerir certificados SSH para todas las conexiones a las VMs que tienen Acceso al SO habilitado, usa
el gcloud compute project-info add-metadata comando
para configurar enable-oslogin=TRUE y enable-oslogin-certificates=TRUE en los metadatos del proyecto:
gcloud compute project-info add-metadata \
--metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Requiere 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 Google Cloud consola de o gcloud CLI.
Console
Para requerir certificados SSH para todas las conexiones a una sola VM, usa la
Google Cloud consola para configurar enable-oslogin y
enable-oslogin-certificates en TRUE en los metadatos de la instancia:
Ve a la página Instancias de VM.
Haz clic en el nombre de la VM para la que quieres requerir 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.
gcloud
Para requerir certificados SSH para todas las conexiones a una sola VM, usa el
gcloud compute instances add-metadata comando
para configurar enable-oslogin=TRUE y enable-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 Google Cloud consola de 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 mediante SSH en el navegador desde la Google Cloud consola, haz lo siguiente:
- En la Google Cloud consola de, ve a la página Instancias de VM.
-
En la lista de instancias de máquina virtual, haz clic en SSH en la fila de
la instancia a la que deseas conectarte.

gcloud
Usa el
gcloud beta compute ssh comando
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 de terceros, haz lo siguiente:
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: la instancia de Compute Engine a la que se conectará, en el formato deprojects/PROJECT_ID/zones/ZONE/instances/INSTANCE_IDSERVICE_ACCOUNT: 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.signSshPublicKeyy 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_NAMEpor 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.
Soluciona problemas
Si no puedes conectarte a las VMs que configuraste para requerir certificados SSH, es posible que se deba a lo siguiente:
- 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-certificatesenFALSEen los metadatos de la instancia.
Próximos pasos
- 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.