Conéctese a máquinas virtuales Linux mediante un host bastión


Este documento describe cómo conectarse a una instancia de máquina virtual (VM) a través de su dirección IP interna, utilizando una VM de host bastión . Los hosts bastión proporcionan un punto de entrada externo a una red de nube privada virtual (VPC) que contiene máquinas virtuales que no tienen direcciones IP externas. Cuando utilice un host bastión, conéctese primero al host bastión y luego a la máquina virtual de destino.

Conectarse a una VM usando su dirección IP interna es útil si la VM no tiene una dirección IP externa. Si la VM tiene una dirección IP externa, conéctese a la VM usando su dirección IP externa . Si necesita conectarse a una máquina virtual que no tiene direcciones IP externas y no puede usar un host bastión, revise los otros métodos enumerados en Opciones de conexión para máquinas virtuales solo internas .

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.

Crear una máquina virtual de host bastión

Cree una máquina virtual de Compute Engine dentro de la red interna del clúster privado para que actúe como un host bastión que pueda administrar el clúster.

Consola

Cree una máquina virtual de host bastión haciendo lo siguiente:

  1. En la consola de Google Cloud, vaya a la página Crear una instancia .

    Ir a Crear una instancia

    1. Especifique los siguientes detalles de la máquina virtual:
    • Nombre : el nombre de su VM.
    • Tipo de máquina : un tipo de máquina. Elija un tipo de máquina pequeña, como e2-micro .
    • Disco de arranque Sistema operativo : cualquier sistema operativo Linux.
  2. Expanda la sección Opciones avanzadas y haga lo siguiente:

    1. En la sección Interfaces de red , seleccione la misma red y subred de VPC que la VM de destino.

    2. Para Dirección IPv4 externa , seleccione Efímera .

  3. Para crear e iniciar la VM, haga clic en Crear .

nube de gcloud

Crea una máquina virtual de host bastión usando el comando gcloud compute instances create :

  1. 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.

  2. Cree la máquina virtual del host bastión ejecutando el siguiente comando:

    gcloud compute instances create VM_NAME \
      --zone=ZONE \
      --machine-type=e2-micro \
      --image-family=IMAGE_FAMILY \
      --image-project=IMAGE_PROJECT \
      --network-interface=subnet=SUBNET,address=""
    

    Reemplace lo siguiente:

    • VM_NAME : el nombre de la VM.
    • ZONE : la zona para VM.
    • IMAGE_FAMILY : una familia de imágenes de Linux.
    • IMAGE_PROJECT : el proyecto de imagen que contiene la imagen.
    • SUBNET : la misma subred de VPC que la VM de destino. Si utiliza la VPC predeterminada, la SUBNET es default .

Conéctese a máquinas virtuales

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

nube de gcloud

Conéctate a una VM usando SSH a través de un host bastión ejecutando el comando gcloud compute ssh :

  1. Conéctese a la máquina virtual del host bastión ejecutando el siguiente comando:

    gcloud compute ssh BASTION_NAME

    Reemplace BASTION_NAME con el nombre de la máquina virtual del host bastión.

  2. Desde la máquina virtual del host bastión, conéctese a la máquina virtual principal a través de su dirección IP interna utilizando el indicador --internal-ip :

    gcloud compute ssh VM_NAME \
        --internal-ip

    Reemplace VM_NAME con el nombre de la VM a la que desea conectarse.

Clientes OpenSSH

Conéctese a una máquina virtual a través de un host bastión desde un cliente OpenSSH, haciendo lo siguiente:

  1. Agregue una clave SSH a la VM si aún no lo ha hecho.
  2. En la consola de Google Cloud, vaya a la página Instancias de VM y busque la dirección IP externa de la VM del host bastión.

    Ir a instancias de VM

  3. Abra una terminal en su estación de trabajo.
  4. Conéctese a la máquina virtual del host bastión ejecutando el siguiente comando:

    ssh -A -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

    Reemplace lo siguiente:

    • PATH_TO_PRIVATE_KEY : la ruta al archivo de clave SSH privada que corresponde a la clave pública que agregó a la VM.
    • 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 .
    • EXTERNAL_IP : la dirección IP externa de la VM.
  5. Desde la máquina virtual del host bastión, conéctese a través de la dirección IP interna de una máquina virtual usando el siguiente comando:

    ssh USERNAME@INTERNAL_IP

    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 .
    • INTERNAL_IP : la dirección IP interna de la VM.

Aplicación PuTTY

Conéctese a una máquina virtual a través de un host bastión usando PuTTY, haciendo lo siguiente:

  1. Agregue una clave SSH a la máquina virtual del host bastión 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 la dirección IP interna 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 la dirección IP externa de la VM a la que desea conectarse. Utilice el siguiente formato:

    USERNAME@EXTERNAL_IP

    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 .
    • EXTERNAL_IP : la dirección IP externa 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 la sección Parámetros de autenticación , seleccione Permitir reenvío de agentes .
  9. Haga clic en Abrir para conectarse a la máquina virtual del host bastión.
  10. Desde la máquina virtual del host bastión, conéctese a través de la dirección IP interna de una máquina virtual usando el siguiente comando:

    ssh USERNAME@INTERNAL_IP

    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 .
    • INTERNAL_IP : la dirección IP interna de 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?