Conexión SSH desde el navegador

La conexión SSH desde el navegador te permite usar SSH para conectarte a una instancia de máquina virtual de Google Compute Engine desde Google Cloud Platform Console. No necesitas instalar extensiones de navegador web ni software adicional para usar esta característica. La conexión SSH desde el navegador es una alternativa a otros métodos para conectarse a una instancia.

Cómo conectarse a una instancia de máquina virtual de Linux

Compute Engine administrará las Llaves SSH por ti cada vez que te conectes a una instancia de Linux desde el navegador, y crea y aplica pares de Llaves SSH cuando es necesario. No puedes administrar las Llaves SSH que se usan para conectarse desde el navegador. En cambio, las funciones de administración de identidades y accesos (IAM) controlan el acceso del usuario para conectarse desde el navegador. Los miembros y las funciones de IAM para un proyecto pueden verse en la página de IAM en Google Cloud Platform Console:

Ir a la página de IAM

Para conectarte a través del navegador, debes ser un miembro del proyecto que sea administrador de instancias de procesamiento. Si la instancia puede ejecutarse como una cuenta de servicio, también debes ser un usuario de cuenta de servicio. Si no tienes acceso para conectarte a través del navegador, solicita al propietario del proyecto que te agregue al proyecto y que te otorgue acceso.

Una vez que tengas acceso, conéctate a una instancia de Linux directamente desde el navegador web en GCP Console:

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

    Ir a la página Instancias de VM

  2. En la lista de instancias de máquinas virtuales, haz clic en el botón SSH de la fila de la instancia a la que quieres conectarte.

Como alternativa, puedes abrir una conexión SSH a una instancia si haces clic en su nombre y en SSH en la página de detalles de la instancia.

Ahora, puedes usar la terminal para ejecutar comandos en la instancia de Linux. Cuando termines, usa el comando exit para desconectarte de la instancia.

Entornos compatibles

La conexión SSH desde el navegador es compatible con los siguientes entornos:

  • Navegadores web: las últimas versiones de Google Chrome, Firefox, Microsoft Edge, Microsoft Internet Explorer 11+ y Safari 8+. Ten en cuenta que Safari en modo de navegación privada no es compatible
  • Configuraciones de máquina virtual: todas las imágenes de máquina virtual de Linux disponibles de forma nativa en Google Cloud Platform

Problemas conocidos

  • Latencia de inicio: el tiempo de conexión actual con SSH desde el navegador es de 5 a 30 segundos. Las versiones actuales del entorno de invitado son compatibles con conexiones más rápidas.

  • Las instancias de máquina virtual no están disponibles de inmediato: las instancias nuevas tardan un tiempo en iniciarse antes de que se pueda establecer la conexión SSH. Si no puedes conectarte a una nueva instancia, vuelve a intentarlo después de unos minutos.

  • Interrupciones intermitentes en la conexión: en este momento, no ofrecemos un ANS específico para la vida útil de las conexiones. Usa multiplexores de terminal como tmux o screen si planeas mantener abierta la ventana de la terminal por un período prolongado.

  • Conectarse a instancias que no tienen una dirección IP externa: si la instancia de Compute Engine solo tiene una dirección IP interna, usa una de las siguientes opciones para conectarte:

    • Conexión SSH desde el navegador con reenvío de TCP de Cloud Identity-Aware Proxy configurado. Si una instancia sin IP externa se configura para permitir túneles TCP a través de Cloud IAP, también puedes conectarte a la instancia con SSH desde el navegador.

    • Conexión SSH desde el navegador con Host de bastión. Para usar esta opción, las instancias de destino y de bastión deben estar en la misma red de VPC o en redes de VPC conectadas entre sí.

      Para conectarte con un Host de bastión mediante una conexión SSH desde el navegador, completa los siguientes pasos:

      1. Usa la conexión SSH desde el navegador para conectarte a la instancia de bastión que tiene una dirección IP externa. En este paso, se genera un par de Llaves SSH temporal y se sube la clave pública a los metadatos de proyecto o instancia para el Host de bastión.
      2. Desde la instancia de bastión, conéctate a la instancia de destino que solo tiene una dirección IP interna. Para conectarte a la instancia de destino desde la instancia de bastión, ejecuta el siguiente comando:

        ssh -A [INTERNAL_IP]
        

        en el que [INTERNAL_IP] es la dirección IP interna de la instancia de destino. Debes ejecutar este comando unos dos minutos después de conectarte a la instancia de bastión para usar la clave temporal generada en el primer paso.

  • Ctrl+W cierra la ventana: el cliente SSH no pasa Ctrl+W, Ctrl+F4, Ctrl+Tab y otras combinaciones de teclas del navegador al sistema de destino. Para enviar combinaciones, haz clic en el ícono del teclado en la esquina superior derecha de la ventana. Si usas el navegador Google Chrome, puedes instalar la extensión “SSH for Google Cloud Platform”. La extensión mejora la experiencia de la consola para conexiones SSH desde el navegador y Google Cloud Shell mediante el otorgamiento de acceso directo a las combinaciones de teclas que suele admitir el navegador, como Ctrl+W.

Cómo solucionar el mensaje de error “No se pudo conectar con la VM en el puerto 22”

Puede que veas este error en las siguientes condiciones:

  • La instancia se inicia y sshd aún no se ejecuta. Verifica que la instancia termine de iniciarse antes de volver a intentarlo.

  • La instancia no ejecuta sshd. sshd se ejecuta de manera predeterminada en instancias creadas a partir de imágenes estándar de Compute Engine. Si inhabilitaste sshd de forma manual o configuraste una imagen personalizada que no ejecuta este servicio, la conexión SSH desde el navegador no funcionará.

  • sshd escucha en un puerto distinto al que te conectaste. Por configuración predeterminada, la conexión SSH desde el navegador se conecta a la instancia del puerto 22. Si ejecutas sshd en un puerto personalizado, puedes conectarte a ese con el elemento "Abrir en otra ventana del navegador en un puerto personalizado” en el menú desplegable del botón SSH.

  • No hay regla de firewall que permita el acceso SSH en el puerto. El acceso SSH en el puerto 22 está habilitado en todas las instancias de Compute Engine por configuración predeterminada. Si inhabilitaste el acceso, la conexión SSH desde el navegador no funcionará. Si ejecutas sshd en un puerto que no sea el 22, necesitas habilitar el acceso a ese puerto con una regla de firewall personalizada.

  • La regla de firewall que permite el acceso SSH está habilitada, pero no está configurada para permitir conexiones desde servicios de GCP Console. GCP Console asigna, de manera dinámica, las direcciones IP de origen para sesiones SSH basadas en el navegador, y esas direcciones pueden variar de una sesión a otra. Para que funcione la característica, debes permitir conexiones desde cualquier dirección IP o desde el rango de direcciones IP de Google que puedes recuperar con registros SPF públicos.

  • La instancia se cerró. Verifica que la instancia esté en funcionamiento. Consulta esta guía para obtener información sobre cómo solucionar problemas de una instancia en mal estado.

Cómo solucionar el mensaje de error “No se pudo conectar. Reintentando...”

  • Puede que la instancia no se ejecute en el entorno de invitado. Verifica que el entorno de invitado esté instalado y en ejecución.

  • El disco de arranque de la instancia se quedó sin espacio libre. Cuando se establece la conexión, el entorno de invitado actualiza el archivo ~/.ssh/authorized_keys con la Llave SSH pública usada para la sesión actual. Si el disco se queda sin espacio libre, la actualización falla. Para identificar problemas con el espacio en disco, comprueba el resultado de la consola en serie de la instancia y busca errores relacionados con la falta de espacio. Aquí hay algunos métodos que pueden usarse para resolver problemas de espacio en disco:

    • Cambia el tamaño del disco persistente de inicio de la instancia para aumentar su tamaño. Si la imagen de sistema operativo usada por la instancia es compatible con el cambio de tamaño automático, esta es la opción más fácil, ya que el sistema operativo cambiará el tamaño de la partición raíz de forma automática para que coincida con el tamaño nuevo después de reiniciar la instancia.
    • Si sabes qué archivos consumen el espacio en disco, crea una secuencia de comandos de inicio que borre los archivos innecesarios y libere espacio para que inicie la instancia. Reinicia la instancia para que la secuencia de comandos ejecute y limpie los archivos. Asegúrate de usar el comando correcto y borrar los archivos indicados. Después de que la instancia se inicie y seas capaz de conectarte a esta a través de SSH, configura el elemento de metadatos startup-script para que no siga borrando archivos.
    • Consulta la guía de solución de problemas para obtener más información sobre cómo acceder al disco de la instancia.
  • Los permisos o la propiedad de $HOME, $HOME/.ssh, o $HOME/.ssh/authorized_keys son incorrectos. El entorno de invitado necesita poder almacenar la Llave SSH pública en el archivo $HOME/.ssh/authorized_keys para el usuario que se conecta. El directorio $HOME debe tener permisos Unix de 0755 o 0700, el directorio $HOME/.ssh debe tener permisos Unix de 0700 y el archivo authorized_keys debe tener permisos Unix de 0600. El propietario del directorio $HOME, del directorio $HOME/.ssh y del archivo authorized_keys debe ser el mismo que el usuario que se conecta. Cambia el nombre de usuario para intentar conectarte como un usuario diferente y arregla cualquier problema de permisos del usuario que no puede conectarse.

Copiar/Pegar

Puedes copiar y pegar texto con las combinaciones de teclas admitidas por tu navegador y plataforma (Ctrl+C/Ctrl+V en Windows y Linux, Cmd+C/Cmd+V en macOS y Ctrl+Shift+V en Sistema operativo Chrome). En general, estos comandos funcionan para la mayoría de las configuraciones, pero la tuya puede generar resultados diferentes.

Transfiere archivos

Si puedes establecer una conexión SSH a una instancia con SSH desde la ventana del navegador, puedes usar esa conexión para transferir archivos a la instancia.

Lee cómo transferir archivos con conexión SSH en el navegador para obtener más información.

Desplázate

Puedes desplazarte por la terminal con la rueda del mouse o el panel táctil. Otra opción para hacerlo es usar las teclas de acceso rápido Ctrl-Shift-RePág/Ctrl-Shift-AvPág en Windows y Linux, y Fn-Shift-Arriba/Fn-Shift-Abajo en macOS.

Nombre de usuario de acceso

Nombre de usuario predeterminado

Por configuración predeterminada, se genera un nombre de usuario para sesiones SSH a partir de la dirección de correo electrónico de la cuenta y se omite la información del dominio. Por ejemplo, si un correo electrónico es user@gmail.com, el nombre de usuario correspondiente sería user.

Nombre de usuario predeterminado con acceso a SO habilitado

Si tienes acceso a SO habilitado y no hay un nombre de usuario configurado por un administrador de G Suite, se configura de manera predeterminada una versión más larga del nombre de usuario. Este nombre de usuario incluye la información del dominio. Por ejemplo, si un correo electrónico es user@gmail.com, el nombre de usuario correspondiente sería user_gmail_com. Para obtener más detalles sobre comportamientos de acceso a SO, consulta la sección sobre comportamientos de acceso esperados.

Cambia el nombre de usuario predeterminado

Sigue estas instrucciones para cambiar el nombre de usuario desde una ventana SSH:

  1. Conéctate a una instancia de máquina virtual.
  2. En la esquina superior derecha de la ventana SSH, haz clic en el ícono Configuración Ícono de configuración.
  3. Selecciona Cambiar nombre de usuario de Linux. Hay un límite de 32 caracteres en la longitud máxima del nombre de acceso en los sistemas Linux, así que los nombres de usuario predeterminados y configurados se truncan para no exceder ese límite.
  4. Paso opcional: copia datos al nuevo directorio de inicio. Cada nombre de usuario nuevo es un usuario diferente de Unix, por lo que si usaste tu directorio de inicio para almacenar datos, puedes copiarlos al directorio nuevo con el comando cp. Por ejemplo, si cambias tu nombre de usuario de user_gmail_com a user, ejecuta los siguientes comandos:

    # This will overwrite files in the target directory, so be careful.
    $ sudo cp -r /home/user_gmail_com/. /home/user
    
    $ sudo chown -R user:user /home/user
    
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine