En este documento, se describe cómo conectarse a una instancia de máquina virtual (VM) a través de su dirección IP interna mediante el reenvío de TCP de Identity-Aware Proxy (IAP).
El reenvío TCP de IAP te permite establecer un túnel encriptado sobre el cual puedes reenviar conexiones SSH a las VMs. Cuando te conectas a una VM que usa IAP, IAP envuelve la conexión SSH dentro de HTTPS antes de reenviar la conexión a la VM. Luego, IAP verifica si tienes los permisos de IAM necesarios y, si es así, otorga acceso a la VM.
Si necesitas conectarte a una VM que no tiene direcciones IP externas y no puedes usar IAP, revisa los demás métodos que se mencionan en Opciones de conexión para VM de uso interno exclusivo.
Antes de comenzar
- Crea una regla de firewall para habilitar las conexiones desde IAP.
-
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 Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:
gcloud init
-
- Configura una región y una zona predeterminadas.
Sistemas operativos compatibles
Estos métodos de conexión son compatibles con todas las imágenes públicas de Linux que están disponibles en Compute Engine. Para imágenes de Fedora CoreOS, debes configurar el acceso SSH antes de poder usar estos métodos.
Conéctate a las VM
Para conectarte a una VM, completa los pasos en una de las siguientes pestañas.
Console
Para establecer un túnel de conexiones SSH a través de la dirección IP interna de una VM mediante SSH en el navegador, 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
Crea un túnel de las conexiones SSH a través de la dirección IP interna de una VM con el
gcloud compute ssh comando con la
--tunnel-through-iap marca:
Conéctate a la VM mediante la ejecución del siguiente comando:
gcloud compute ssh VM-NAME \ --tunnel-through-iap
En la Google Cloud consola de, activa Cloud Shell.
En la parte inferior de la Google Cloud consola de, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Reemplaza VM_NAME por el nombre de la VM a la que te quieres conectar.
IAP Desktop
Para conectarte a una VM mediante IAP Desktop, haz lo siguiente:
-
Instala IAP Desktop en tu estación de trabajo si aún no lo haces.
-
Abre IAP Desktop. Se abrirá la ventana Agregar proyectos.
-
Cuando se te solicite, accede con la Cuenta de Google que tiene acceso al proyecto con las VMs a las que deseas conectarte.
-
En la ventana Agregar proyectos, ingresa el nombre o el ID del proyecto que contiene las VMs a las que deseas conectarte.
-
En la ventana Explorador de proyectos, haz clic con el botón derecho en el nombre de la VM de nuevo y selecciona Conectar para conectarte a la VM.
Clientes OpenSSH
Conéctate a una VM que no tiene una dirección IP externa con SSH a través de un túnel de IAP. Puedes escribir tu propio archivo de configuración de SSH (~/.ssh/config) para que herramientas como VS Code o el cliente OpenSSH puedan conectarse sin problemas.
Para generar y propagar tus claves SSH, conéctate a tu VM al menos una vez ejecutando el
gcloud compute sshcomando:gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME --tunnel-through-iap
Verifica que la conexión se realice correctamente y, luego, sal.
Abre o crea el archivo de configuración de SSH en tu estación de trabajo local. Por lo general, este archivo se encuentra en
~/.ssh/configen Linux y macOS, o en%USERPROFILE%\.ssh\configen Windows.Para agregar una entrada de configuración para tu VM, agrega el siguiente bloque a tu archivo de configuración de SSH:
Host VM_NAME HostName VM_NAME IdentityFile PATH_TO_PRIVATE_KEY ProxyCommand gcloud compute start-iap-tunnel %h %p --listen-on-stdin --project=PROJECT_ID --zone=ZONE --verbosity=warning User USERNAMEReemplaza lo siguiente:
VM_NAME: el nombre de la VM a la que deseas conectarte.PATH_TO_PRIVATE_KEY: la ruta de acceso a tu archivo de claves privadas, por lo general,~/.ssh/google_compute_engine.PROJECT_ID: el ID del proyecto que contiene la VM.ZONE: la zona en la que se encuentra la VM.USERNAME: el nombre de usuario en la VM (por ejemplo, tu nombre de usuario de Acceso al SO de Google Cloud o el nombre de usuario de metadatos).
Para conectarte a la VM desde tu terminal local o cliente SSH, ejecuta el siguiente comando:
ssh VM_NAME
App de PuTTY
Para establecer un túnel de conexiones SSH a través de la dirección IP interna de una VM mediante PuTTY, haz lo siguiente:
- Agrega una clave SSH a la VM si aún no lo hiciste.
- Si tu estación de trabajo no tiene instalada la app de PuTTY, descarga los archivos de paquete de PuTTY.
En la Google Cloud consola de, ve a la página Instancias de VM y busca el nombre de la VM a la que deseas conectarte.
- Abre la app de PuTTY. Se abrirá una ventana de configuración de conexión.
En el campo
Host Name, ingresa el nombre de usuario asociado con la clave SSH y el nombre de la VM a la que deseas conectarte. Usa el siguiente formato:USERNAME@VM_NAME
Reemplaza lo siguiente:
USERNAME: el nombre de usuario es el que especificaste cuando creaste la clave SSH.-
NAME: El nombre de la VM
- En el menú Categoría, navega hasta Conexión > SSH > Auth.
- En el campo Archivo de claves privadas para la autenticación, elige el archivo de clave SSH privada que corresponde a la clave pública que agregaste a la VM.
- En el menú Categoría, navega hasta Conexión > Proxy.
- En la sección Tipo de proxy, elige Local.
En el campo Comando de Telnet o comando de proxy local, ingresa el siguiente comando:
gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE
Reemplaza lo siguiente:
VM_NAME: el nombre de la VM a la que deseas conectarte.PORT_NUMBER: el puerto en el que se ejecuta el daemon sshd. El valor predeterminado dePORT_NUMBERes22.PROJECT_ID: el proyecto que aloja la VM a la que deseas conectarte.ZONE: la zona donde se ubica la VM.
- Haz clic en Abrir para conectarte a la VM.
Soluciona problemas
Si deseas encontrar métodos para diagnosticar y resolver conexiones SSH fallidas, consulta Soluciona problemas de SSH.
¿Qué sigue?
- Obtén más información sobre cómo transferir archivos a las VMs.
- Obtén información sobre cómo funcionan las conexiones SSH a las VMs de Linux en Compute Engine.