Autenticación de máquinas virtuales en Google Compute Engine GCE: guía práctica y segura
Cuando administras instancias de GCE, la autenticación es clave para acceder y operar con seguridad. En función del sistema operativo de la VM, el método varía. En Windows se usa usuario y contraseña; en Linux, autenticación por claves SSH. A continuación reescribimos y ampliamos el contenido con recomendaciones operativas y de seguridad.
Windows VMs autenticación con usuario y contraseña
En máquinas virtuales Windows la autenticación se realiza con nombre de usuario y contraseña. Puedes generar credenciales desde la consola de Google Cloud o establecer y restablecer contraseñas con gcloud CLI. Una vez listas, conéctate mediante RDP, lo que resulta ideal para administradores que prefieren el inicio de sesión tradicional de escritorio remoto.
Linux VMs autenticación SSH basada en claves
En Linux la autenticación recomendada es por claves SSH. Puedes generar un par de claves con ssh-keygen y subir la clave pública al metadato del proyecto o de la instancia, o bien permitir que Google Cloud gestione temporalmente las claves cuando te conectas desde la consola o con gcloud compute ssh. Este método ofrece autenticación criptográfica robusta sin contraseñas.
Opciones de autenticación SSH en Linux
Opción 1 botón SSH en la consola de Google Cloud. Al abrir una sesión SSH en el navegador, Compute Engine genera claves efímeras y almacena la clave privada solo en la sesión del navegador. Google no tiene acceso a tu clave privada. La clave tiene un tiempo de vida breve, por lo general unos minutos, lo que mitiga riesgos si se queda abierta una sesión.
Opción 2 gcloud CLI. Compute Engine crea un usuario y un par de claves persistente en tu equipo, de modo que puedes reutilizarlo en sesiones futuras. Es práctico para flujos de trabajo de desarrollo y administración desde terminal.
Conceptos clave gestión por metadatos y OS Login
Gestión por metadatos. Puedes conceder acceso temporal automáticamente a nivel de proyecto, gestionar manualmente claves SSH en metadatos del proyecto o colocar claves a nivel de instancia. Es flexible y rápido para casos puntuales.
OS Login recomendado por Google. Centraliza el acceso a través de IAM, soporta verificación en dos pasos, permite separar permisos de usuario y administrador y escala mucho mejor en organizaciones con numerosos usuarios y proyectos.
Crear una VM de ejemplo
Ejecuta los siguientes comandos desde Cloud Shell o tu terminal para crear una instancia de prueba. Primero define el proyecto con gcloud config set project gcpdemos y luego crea la VM con gcloud compute instances create vm1 --zone us-central1-a --machine-type e2-micro --network-interface subnet=default --tags http-server --metadata-from-file startup-script=webserver-install.sh
Conectar desde el navegador qué ocurre por debajo
Al abrir SSH en nueva ventana del navegador, Compute Engine usa metadatos del proyecto o de la instancia para configurar claves SSH. Si usas OS Login, las claves en metadatos quedan deshabilitadas. En el modelo por metadatos, el sistema sube tu clave pública y un nombre de usuario derivado de tu cuenta de Google eliminando el dominio, crea la cuenta en la VM, añade la clave a ~/.ssh/authorized_keys y concede el acceso. La clave efímera expira en pocos minutos.
Cambiar el usuario de Linux en la sesión del navegador
Desde la ventana SSH del navegador puedes cambiar el usuario Linux. Al hacerlo, se generan nuevas claves en la sesión y se vuelve a iniciar con el usuario elegido, propagando la clave pública a metadatos y a la VM.
Conectar con gcloud compute ssh
Define el proyecto con gcloud config set project gcpdemos y conéctate con gcloud compute ssh vm2 --zone us-central1-a --project gcpdemos. Las claves persistentes se almacenarán en tu equipo y podrás reutilizarlas.
Opción 3 claves personalizadas gestionadas por metadatos
Genera un par de claves con ssh-keygen -t rsa -f ssh-keys-custom -C sshcustomuser1. Restringe permisos con chmod 400 ssh-keys-custom. Sube la clave pública a Metadatos del proyecto en Compute Engine y guarda. Después, desde tu equipo, conecta con ssh -i ssh-keys-custom sshcustomuser1@IP-publica. Alternativamente, puedes añadir la clave pública a nivel de instancia y, si marcas bloquear claves de proyecto, solo se aceptarán las de la instancia. Esto es útil para aislar accesos.
Comprobación del bloqueo por instancia
Si habilitas bloquear claves de proyecto en una VM, verás que una clave añadida solo en el proyecto no funcionará en esa instancia. Así puedes delimitar el alcance de acceso con precisión.
Limpieza
Elimina entradas de metadatos a nivel de proyecto e instancia cuando ya no se necesiten. Evita acumular claves obsoletas.
Opción 4 OS Login gestionado por IAM
Actívalo añadiendo en Metadatos del proyecto la clave enable-oslogin con el valor TRUE. A partir de ahí podrás usar el botón SSH del navegador o gcloud compute ssh. El usuario en la VM se formará a partir de tu correo completo. OS Login centraliza el control con IAM y mejora la trazabilidad.
Opción 5 claves personalizadas con OS Login
Genera un par de claves con ssh-keygen -t rsa -f ssh-keys-oslogin -C tuusuario y limita permisos con chmod 400. Asocia la clave pública a tu perfil con gcloud compute os-login ssh-keys add --key-file ssh-keys-oslogin.pub --ttl 0. Verifica con gcloud compute os-login ssh-keys list y describe-profile para ver el nombre de usuario efectivo. Conecta desde tu equipo con ssh -i ssh-keys-oslogin usuario@IP-publica. También puedes activar OS Login a nivel de instancia agregando enable-oslogin TRUE en metadatos de la VM.
Ventajas de OS Login frente a metadatos
OS Login elimina la gestión manual de claves y escala con grandes equipos y múltiples proyectos. Soporta verificación en dos pasos, integración con directorios corporativos como AD o LDAP y alineación con políticas de IAM a nivel de organización. Además permite separar perfiles de acceso usuario y administrador mediante roles.
Roles necesarios para OS Login
Para acceso estándar asigna roles compute.osLogin. Para acceso con privilegios de administrador asigna roles compute.osAdminLogin. Gestiona estos permisos en IAM a nivel de proyecto o carpeta según tu estrategia de seguridad.
Q2BSTUDIO te ayuda a implantar accesos seguros a VMs en Google Cloud
En Q2BSTUDIO impulsamos la seguridad y la eficiencia de tus entornos cloud con buenas prácticas de autenticación, hardening y automatización. Somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, además de soluciones de ia para empresas y agentes IA. Si necesitas asesoramiento integral de arquitectura, migración y operación, descubre nuestros servicios cloud AWS y Azure. Y si buscas elevar tu postura de seguridad con auditorías técnicas, respuesta ante incidentes y pruebas de intrusión, conoce nuestro enfoque en ciberseguridad y pentesting.
Palabras clave sugeridas para tu estrategia de posicionamiento
aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi