En este documento se describe cómo usar las llaves de seguridad físicas registradas en tu cuenta de Google para conectarte a instancias de máquina virtual (VM) que usan Inicio de sesión del SO.
Las llaves de seguridad físicas se usan para generar archivos de claves SSH privadas para conectarse a las VMs. Cuando usas la herramienta Google Cloud SSH en el navegador de la consola o la CLI de Google Cloud para conectarte a las VMs con llaves de seguridad, Inicio de sesión del SO recupera el archivo de claves SSH privadas asociado a tu llave de seguridad y lo configura por ti. Cuando uses herramientas de terceros para conectarte, debes usar la API OS Login para obtener la información de la clave SSH y configurar el archivo de claves SSH tú mismo.
Antes de empezar
- Añade una llave de seguridad a tu cuenta de Google.
- Configurar OS Login.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Limitaciones
- Las VMs que tienen habilitadas las llaves de seguridad solo aceptan conexiones de llaves SSH que estén asociadas a las llaves de seguridad físicas registradas en tu cuenta de Google.
- No puedes usar Cloud Shell para conectarte a VMs que tengan habilitadas las llaves de seguridad.
Tanto la máquina virtual a la que te conectas como la estación de trabajo desde la que te conectas deben usar una versión de OpenSSH 8.2 o posterior que admita tipos de SSH de clave de seguridad. Los siguientes sistemas operativos de máquinas virtuales de Compute Engine admiten llaves de seguridad:
- Debian 11 (o versiones posteriores)
- SUSE Linux Enterprise Server (SLES) 15 (o versiones posteriores)
- Ubuntu 20.04 LTS (o versiones posteriores)
- Container-Optimized OS 93 LTS (o una versión posterior)
- Rocky Linux 9 (o versiones posteriores)
Para comprobar si tu entorno admite llaves de seguridad, ejecuta el siguiente comando:
ssh -Q key | grep ^sk-
Si el comando no devuelve ningún resultado, significa que tu entorno no admite llaves de seguridad.
El cliente SSH de la estación de trabajo desde la que te conectas debe admitir llaves de seguridad e incluir las bibliotecas necesarias, como
libfido2
.
Habilitar llaves de seguridad con OS Login
Puedes habilitar el uso de llaves de seguridad en todas las VMs que usen OS Login en tu proyecto o en VMs concretas.
Habilitar las llaves de seguridad en todas las VMs de un proyecto que tengan habilitado OS Login
Para habilitar las llaves de seguridad en todas las VMs que usen OS Login en tu proyecto, utiliza laGoogle Cloud consola o la CLI de gcloud.
Consola
Para habilitar las llaves de seguridad en todas las VMs que tengan habilitado OS Login, usa laGoogle Cloud consola para definir
enable-oslogin
yenable-oslogin-sk
enTRUE
en los metadatos del proyecto:Ve a la página Metadatos.
Haz clic en Editar.
Haz clic en Añadir elemento.
- En el campo Key (Clave), introduce
enable-oslogin
. - En el campo Valor, introduce
TRUE
.
- En el campo Key (Clave), introduce
Haz clic en Añadir elemento.
- En el campo Key (Clave), introduce
enable-oslogin-sk
. - En el campo Valor, introduce
TRUE
.
- En el campo Key (Clave), introduce
Haz clic en Guardar.
gcloud
Para habilitar las llaves de seguridad en todas las VMs con OS Login habilitado, usa el comando
gcloud compute project-info add-metadata
para definirenable-oslogin=TRUE
yenable-oslogin-sk=TRUE
en los metadatos del proyecto:gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Habilitar llaves de seguridad en una sola máquina virtual con inicio de sesión del SO habilitado
Para habilitar las llaves de seguridad en una VM que use OS Login, utiliza laGoogle Cloud consola o la CLI de gcloud.
Consola
Para habilitar las llaves de seguridad en una sola VM, usa la consola para definir Google Cloud y
enable-oslogin-sk
comoTRUE
en los metadatos de la instancia:enable-oslogin
Ve a la página Instancias de VM.
Haga clic en el nombre de la VM en la que quiera habilitar las llaves de seguridad.
Haz clic en Editar.
En la sección Metadatos, haz clic en Añadir elemento.
- En el campo Key (Clave), introduce
enable-oslogin
. - En el campo Valor, introduce
TRUE
.
- En el campo Key (Clave), introduce
Haz clic en Añadir elemento.
- En el campo Key (Clave), introduce
enable-oslogin-sk
. - En el campo Valor, introduce
TRUE
.
- En el campo Key (Clave), introduce
Haz clic en Guardar.
gcloud
Para habilitar las llaves de seguridad en una sola VM, usa el comando
gcloud compute instances add-metadata
para definirenable-oslogin=TRUE
yenable-oslogin-sk=TRUE
en los metadatos de la instancia:gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Sustituye
VM_NAME
por el nombre de tu VM.Conectarse a una VM con una llave de seguridad
Puedes conectarte a una VM que use llaves de seguridad mediante la Google Cloud consola, la interfaz de línea de comandos de gcloud o herramientas de terceros. Si te conectas a las VMs mediante la Google Cloud consola o la CLI de gcloud, Compute Engine configurará tu clave SSH. Si te conectas a las VMs mediante herramientas de terceros, debes realizar la configuración tú mismo.
Consola
Cuando te conectas a las VMs mediante la herramienta Google Cloud consola SSH en el navegador, esta recupera las claves privadas asociadas a tus llaves de seguridad.
Para conectarte a una VM que tenga habilitadas las llaves de seguridad, haz lo siguiente:
En la consola de Google Cloud , ve a la página Instancias de VM.
En la lista de VMs, haz clic en SSH en la fila de la VM a la que quieras conectarte.
Cuando se te pida, toca tu llave de seguridad.
gcloud
Cuando te conectas a las VMs mediante la CLI de gcloud, esta recupera las claves privadas asociadas a tus claves de seguridad y configura los archivos de claves privadas. Esta configuración es persistente y se aplica a todas las VMs que usan llaves de seguridad.
Usa el comando
gcloud beta compute ssh
para conectarte a una VM que tenga habilitadas las llaves de seguridad:gcloud beta compute ssh VM_NAME
Herramientas de terceros
Antes de conectarte a una VM que tenga habilitadas las llaves de seguridad, debes recuperar las claves privadas asociadas a tus llaves de seguridad y configurar los archivos de claves privadas. En este ejemplo se usa la biblioteca de cliente de Python para realizar la configuración.
Solo tienes que realizar esta configuración la primera vez que te conectes a una VM. La configuración es persistente y se aplica a todas las máquinas virtuales que usen llaves de seguridad en tu proyecto.
En un terminal de tu estación de trabajo, haz lo siguiente:
Si aún no lo has hecho, instala la biblioteca de cliente de Google para Python ejecutando el siguiente comando:
pip3 install google-api-python-client
Guarda la siguiente secuencia de comandos de Python de ejemplo, que obtiene las claves privadas asociadas a tus llaves de seguridad, configura los archivos de claves privadas y se conecta a la VM.
Ejecuta la secuencia de comandos para configurar tus claves y, opcionalmente, conectarte a la VM.
python3 SCRIPT_NAME.py --user_key=USER_KEY --ip_address=IP_ADDRESS [--dryrun]
Haz los cambios siguientes:
SCRIPT_NAME
: el nombre de tu secuencia de comandos de configuración.USER_KEY
: tu dirección de correo principal.IP_ADDRESS
: la dirección IP externa de la VM a la que te conectas.[--dryrun]
: (Opcional) añade la marca--dryrun
para imprimir el comando de conexión sin conectarte a la VM. Si no especificas esta marca, la secuencia de comandos ejecuta el comando de conexión.
Siguientes pasos
- Consulta cómo configurar OS Login con la verificación en dos pasos.
- Consulta cómo gestionar OS Login en una organización.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-