Conéctate a VMs de Linux mediante Identity-Aware Proxy


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.
  • 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 API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera

    Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. 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.

Consola

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:

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. En la lista de instancias de máquinas virtuales, 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 comando gcloud compute ssh con la marca --tunnel-through-iap:

    En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, 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.

  1. Conéctate a la VM mediante la ejecución del siguiente comando:

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. 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:

  1. Instala IAP Desktop en tu estación de trabajo si aún no lo haces.

  2. Abre IAP Desktop. Se abrirá la ventana Agregar proyectos.

  3. Cuando se te solicite, accede con la Cuenta de Google que tiene acceso al proyecto con las VMs a las que deseas conectarte.

  4. En la ventana Agregar proyectos, ingresa el nombre o el ID del proyecto que contiene las VMs a las que deseas conectarte.

  5. En la ventana Explorador de proyectos, haz clic con el botón derecho en el nombre de la VM y selecciona Conectar para conectarte a la VM.

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:

  1. Agrega una clave SSH a la VM si aún no lo hiciste.
  2. Si tu estación de trabajo no tiene instalada la app de PuTTY, descarga los archivos de paquete de PuTTY.
  3. En la consola de Google Cloud, ve a la página Instancias de VM y busca el nombre de la VM a la que deseas conectarte.

    Ir a Instancias de VM

  4. Abre la app de PuTTY. Se abrirá una ventana de configuración de conexión.
  5. 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: Tu nombre de usuario. Si administras las claves SSH en metadatos, el nombre de usuario es el que especificaste cuando creaste la clave SSH. En el caso de las cuentas de Acceso al SO, el nombre de usuario se define en tu perfil de Google. Por ejemplo, cloudysanfrancisco_example_com o cloudysanfrancisco.
    • NAME: El nombre de la VM
  6. En el menú Categoría, navega hasta Conexión > SSH > Auth.
  7. 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.
  8. En el menú Categoría, navega hasta Conexión > Proxy.
  9. En la sección Tipo de proxy, elige Local.
  10. 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 de PORT_NUMBER es 22.
    • PROJECT_ID: el proyecto que aloja la VM a la que deseas conectarte.
    • ZONE: la zona donde se ubica la VM.
  11. 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?