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 una VM host bastion. Los hosts bastion 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 uses una pasarela de aplicaciones, conéctate primero a ella y, después, a la VM de destino.
Conectarse a una VM mediante 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éctate a ella mediante su dirección IP externa. Si necesitas conectarte a una VM que no tiene direcciones IP externas y no puedes usar un host bastion, consulta los otros métodos que se indican en Opciones de conexión para VMs solo internas.
Sistemas operativos compatibles
Estos métodos de conexión se admiten en todas las imágenes públicas de Linux que están disponibles en Compute Engine. En el caso de las imágenes de Fedora CoreOS, debes configurar el acceso SSH antes de poder usar estos métodos.
Crear una VM de host bastion
Crea una VM de Compute Engine en la red interna del clúster privado para que actúe como host bastion que pueda gestionar el clúster.
Consola
Para crear una VM de host bastion, haz lo siguiente:
En la Google Cloud consola, ve a la página Crear una instancia.
- Especifica los siguientes detalles de la VM:
- Nombre: el nombre de tu VM.
- Tipo de máquina: un tipo de máquina. Elige un tipo de máquina pequeño, como
e2-micro
. - Disco de arranque Sistema operativo: cualquier SO Linux.
Despliega la sección Opciones avanzadas y haz lo siguiente:
En la sección Interfaces de red, selecciona la misma red VPC y subred que la VM de destino.
En Dirección IPv4 externa, selecciona Efímera.
Para crear e iniciar la VM, haz clic en Crear.
gcloud
Crea una VM de host bastion con el comando gcloud compute instances create
:
-
In the Google Cloud console, 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.
Para crear la VM de host bastión, ejecuta 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=""
Haz los cambios siguientes:
VM_NAME
: el nombre de la VM.ZONE
: la zona de la 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 usas la VPC predeterminada, el valor deSUBNET
esdefault
.
Conectarse a máquinas virtuales
Para conectarte a una VM, sigue los pasos de una de las pestañas siguientes.
gcloud
Para conectarte a una VM mediante SSH a través de un host bastion, ejecuta el comando gcloud compute ssh
:
Conéctate a la máquina virtual del host bastion ejecutando el siguiente comando:
gcloud compute ssh BASTION_NAME
Sustituye
BASTION_NAME
por el nombre de la VM del host bastion.Desde la máquina virtual del host bastion, conéctate a la máquina virtual principal a través de su dirección IP interna mediante la marca
--internal-ip
:gcloud compute ssh VM_NAME \ --internal-ip
Sustituye
VM_NAME
por el nombre de la VM a la que quieras conectarte.
Clientes de OpenSSH
Para conectarte a una VM a través de un host bastion desde un cliente OpenSSH, haz lo siguiente:
- Añade una clave SSH a la VM si aún no lo has hecho.
En la Google Cloud consola, ve a la página Instancias de VM y busca la dirección IP externa de la VM del host bastion.
- Abre un terminal en tu estación de trabajo.
Conéctate a la máquina virtual del host bastion ejecutando el siguiente comando:
ssh -A -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
Haz los cambios siguientes:
PATH_TO_PRIVATE_KEY
: la ruta al archivo de clave SSH privada que corresponde a la clave pública que has añadido a la VM.USERNAME
: tu nombre de usuario. Si gestionas tus claves SSH en los metadatos, el nombre de usuario es el que especificaste cuando creaste la clave SSH. En el caso de las cuentas de inicio de sesión en el SO, el nombre de usuario se define en tu perfil de Google. Por ejemplo,cloudysanfrancisco_example_com
ocloudysanfrancisco
.-
EXTERNAL_IP
: la dirección IP externa de la VM.
Desde la máquina virtual de host bastion, conéctate a través de la dirección IP interna de una máquina virtual con el siguiente comando:
ssh USERNAME@INTERNAL_IP
Haz los cambios siguientes:
USERNAME
: tu nombre de usuario. Si gestionas tus claves SSH en los metadatos, el nombre de usuario es el que especificaste cuando creaste la clave SSH. En el caso de las cuentas de inicio de sesión en el SO, el nombre de usuario se define en tu perfil de Google. Por ejemplo,cloudysanfrancisco_example_com
ocloudysanfrancisco
.INTERNAL_IP
: la dirección IP interna de la VM.
Aplicación PuTTY
Para conectarte a una VM a través de un host bastion con PuTTY, haz lo siguiente:
- Añade una clave SSH a la VM del host bastion si aún no lo has hecho.
- Si tu estación de trabajo aún no tiene instalada la aplicación PuTTY, descarga los archivos del paquete PuTTY.
En la Google Cloud consola, ve a la página Instancias de VM y busca la dirección IP interna de la VM a la que quieras conectarte.
- Abre la aplicación PuTTY. Se abrirá una ventana de configuración de conexión.
En el campo
Host Name
, introduce el nombre de usuario asociado a la clave SSH y la dirección IP externa de la VM a la que quieras conectarte. Utiliza el siguiente formato:USERNAME@EXTERNAL_IP
Haz los cambios siguientes:
USERNAME
: tu nombre de usuario. Si gestionas tus claves SSH en los metadatos, el nombre de usuario es el que especificaste cuando creaste la clave SSH. En el caso de las cuentas de inicio de sesión en el SO, el nombre de usuario se define en tu perfil de Google. Por ejemplo,cloudysanfrancisco_example_com
ocloudysanfrancisco
.-
EXTERNAL_IP
: la dirección IP externa de la VM.
- En el menú Categoría, vaya a Conexión > SSH > Autenticación.
- En el campo Archivo de clave privada para la autenticación, selecciona el archivo de clave SSH privada que corresponda a la clave pública que has añadido a la VM.
- En la sección Parámetros de autenticación, selecciona Permitir reenvío de agente.
- Haz clic en Abrir para conectarte a la VM del host bastion.
Desde la máquina virtual de host bastion, conéctate a través de la dirección IP interna de una máquina virtual con el siguiente comando:
ssh USERNAME@INTERNAL_IP
Haz los cambios siguientes:
USERNAME
: tu nombre de usuario. Si gestionas tus claves SSH en los metadatos, el nombre de usuario es el que especificaste cuando creaste la clave SSH. En el caso de las cuentas de inicio de sesión en el SO, el nombre de usuario se define en tu perfil de Google. Por ejemplo,cloudysanfrancisco_example_com
ocloudysanfrancisco
.INTERNAL_IP
: la dirección IP interna de la VM.
Solución de problemas
Para consultar métodos para diagnosticar y resolver conexiones SSH fallidas, consulta Solución de problemas de SSH.
Siguientes pasos
- Consulta cómo gestionar el acceso a las máquinas virtuales.
- Consulta cómo transferir archivos a máquinas virtuales.
- Consulta cómo funcionan las conexiones SSH a máquinas virtuales de Linux en Compute Engine.