Conéctese a máquinas virtuales Linux mediante Identity-Aware Proxy


Este documento describe cómo conectarse a una instancia de máquina virtual (VM) a través de su dirección IP interna, utilizando el reenvío TCP de Identity-Aware Proxy (IAP) .

El reenvío IAP TCP le permite establecer un túnel cifrado a través del cual puede reenviar conexiones SSH a las máquinas virtuales. Cuando se conecta 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 tiene los permisos de IAM requeridos y, si los tiene, le otorga acceso a la VM.

Si necesita conectarse a una máquina virtual que no tiene direcciones IP externas y no puede usar IAP, revise los otros métodos enumerados en Opciones de conexión para máquinas virtuales solo internas .

Antes de comenzar

  • Cree una regla de firewall para habilitar conexiones desde IAP.
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras 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

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.

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, debe configurar el acceso SSH antes de poder utilizar estos métodos.

Conéctese a máquinas virtuales

Para conectarse a una máquina virtual, complete los pasos en una de las siguientes pestañas.

Consola

Haga un túnel de las conexiones SSH a través de la dirección IP interna de una VM usando SSH-in-Browser haciendo lo siguiente:

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

nube de gcloud

Haz un túnel de las conexiones SSH a través de la dirección IP interna de una VM usando el comando gcloud compute ssh con la marca --tunnel-through-iap :

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  1. Conéctese a la VM ejecutando el siguiente comando:

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. Reemplace VM_NAME con el nombre de la VM a la que desea conectarse.

Escritorio IAP

Para conectarse a una máquina virtual mediante IAP Desktop, haga lo siguiente:

  1. Instale IAP Desktop en su estación de trabajo si aún no lo ha hecho.

  2. Abra el escritorio IAP. Se abre la ventana Agregar proyectos .

  3. Cuando se le solicite, inicie sesión con la cuenta de Google que tiene acceso al proyecto con las máquinas virtuales a las que desea conectarse.

  4. En la ventana Agregar proyectos , ingrese el ID del proyecto o el nombre del proyecto que contiene las máquinas virtuales a las que desea conectarse.

  5. En la ventana del Explorador de proyectos , haga clic con el botón derecho en el nombre de la VM nuevamente y seleccione Conectar para conectarse a la VM.

Aplicación PuTTY

Haga un túnel de las conexiones SSH a través de la dirección IP interna de una máquina virtual usando PuTTY, haciendo lo siguiente:

  1. Agregue una clave SSH a la VM si aún no lo ha hecho.
  2. Si su estación de trabajo aún no tiene instalada la aplicación PuTTY, descargue los archivos del paquete PuTTY .
  3. En la consola de Google Cloud, vaya a la página Instancias de VM y busque el nombre de la VM a la que desea conectarse.

    Ir a instancias de VM

  4. Abra la aplicación PuTTY. Se abre una ventana de configuración de conexión.
  5. En el campo Host Name , ingrese el nombre de usuario asociado con la clave SSH y el nombre de la VM a la que desea conectarse. Utilice el siguiente formato:

    USERNAME@VM_NAME

    Reemplace lo siguiente:

    • USERNAME : su nombre de usuario. Si administra sus claves SSH en metadatos, el nombre de usuario es el que especificó cuando creó la clave SSH . Para las cuentas de inicio de sesión del sistema operativo, el nombre de usuario se define en su perfil de Google . Por ejemplo, cloudysanfrancisco_example_com o cloudysanfrancisco .
    • NAME : el nombre de la VM.
  6. En el menú Categoría , navegue hasta Conexión > SSH > Autenticación .
  7. En el campo Archivo de clave privada para autenticación , seleccione el archivo de clave SSH privada que corresponde a la clave pública que agregó a la VM.
  8. En el menú Categoría , navegue hasta Conexión > Proxy .
  9. En la sección Tipo de proxy , seleccione Local .
  10. En el campo Comando Telnet o comando de proxy local , ingrese el siguiente comando:

    gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE

    Reemplace lo siguiente:

    • VM_NAME : el nombre de la VM a la que desea conectarse.
    • PORT_NUMBER : el puerto en el que se ejecuta el demonio sshd. El PORT_NUMBER predeterminado es 22 .
    • PROJECT_ID : el proyecto que aloja la VM a la que desea conectarse.
    • ZONE : la zona donde se encuentra la VM.
  11. Haga clic en Abrir para conectarse a la VM.

Solución de problemas

Para encontrar métodos para diagnosticar y resolver conexiones SSH fallidas, consulte Solución de problemas de SSH .

¿Qué sigue?