Conexión SSH desde el navegador

El uso de SSH desde la ventana del navegador te permite usar esta opción para conectarte a una instancia de máquina virtual (VM) de Compute Engine desde Google Cloud Console. No necesitas instalar extensiones de navegador web ni software adicional para usar esta función. La conexión SSH desde el navegador es una alternativa a otros métodos para conectarse a una instancia.

Conéctate a una instancia de VM de Linux

Compute Engine administra tus llaves SSH cada vez que te conectas a una instancia de Linux desde tu navegador, además 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, el acceso de los usuarios para conectarse desde el navegador se controla mediante funciones de Cloud Identity and Access Management. Los miembros y las funciones de IAM de un proyecto se pueden ver en la página de IAM en Google Cloud Console:

Ir a la página de IAM

Para conectarte a través del navegador, debes ser un miembro del proyecto con la función de administrador de instancias de procesamiento. Si la instancia se puede ejecutar 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 te otorgue el acceso.

Después de que se te otorgue el acceso, conéctate a una instancia de Linux directamente desde el navegador web en Cloud Console:

  1. En la Consola de APIs, 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 hayas terminado, desconéctate de la instancia mediante el comando exit.

Entornos compatibles

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

  • Navegadores web
    • La versión más reciente de Google Chrome
    • Firefox
    • Microsoft Edge
    • Microsoft Internet Explorer 11 y versiones posteriores
    • Safari 8 y versiones posteriores. Ten en cuenta que Safari no es compatible en modo de navegación privada
  • Configuración de máquinas virtuales
    • Todas las imágenes de VM de Linux que están disponibles de forma nativa en Google Cloud

Problemas conocidos

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

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

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

  • Conexión a instancias que no tienen una dirección IP externa. Si tu 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 mediante el redireccionamiento de TCP de Identity-Aware Proxy configurado: Si se configuró una instancia sin IP externa para permitir túneles TCP a través de IAP, también puedes conectarte a la instancia mediante la conexión 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. A fin de conectarte a la instancia de destino desde la instancia de bastión, ejecuta el siguiente comando. Para ello, reemplaza internal-ip por la dirección IP interna de la instancia de destino:

        ssh -A internal-ip

        Debes ejecutar este comando en un plazo de alrededor de dos minutos después de conectarte a la instancia de bastión para poder usar la clave temporal generada en el primer paso.

  • Ctrl+W cierra la ventana. El cliente SSH no transfiere al sistema de destino Ctrl+W, Ctrl+F4, Ctrl+Tab y otras combinaciones de teclas que funcionan como combinaciones de teclas del navegador. Para enviar estas combinaciones de teclas o cualquier otra, haz clic en el ícono de 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 Cloud Shell, ya que te otorga acceso directo a las combinaciones de teclas que suele admitir el navegador, como Ctrl+W.

  • En ocasiones, la transferencia de archivos puede ser lenta para los archivos grandes. Recomendamos que uses el comando gcloud compute scp para transferir archivos grandes.

Soluciona el mensaje de error “No se pudo conectar en el puerto 22”

Puede que veas este error en los siguientes casos:

  • La instancia se está iniciando y sshd todavía no se ha ejecutado. Verifica que la instancia termine de iniciarse antes de volver a intentarlo.

  • La instancia no ejecuta sshd. Según la configuración predeterminada, sshd se ejecuta 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. Según la 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 puerto mediante el elemento Abrir en otra ventana del navegador en un puerto personalizado en la lista desplegable del botón SSH.

  • No hay una 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 de forma 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, debes habilitar el acceso a ese puerto mediante 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 Cloud Console. Cloud Console asigna, de manera dinámica, las direcciones IP de origen a sesiones SSH basadas en el navegador, y esas direcciones pueden variar de una sesión a otra. Para que la función se ejecute de forma correcta, debes permitir conexiones desde cualquier dirección IP o desde el rango de direcciones IP de Google, que puedes recuperar mediante registros SPF públicos.

  • Se cerró la instancia. Verifica que la instancia esté en funcionamiento. Para obtener información sobre cómo solucionar problemas en una instancia en mal estado, consulta Sugerencias generales para usar Compute Engine.

Soluciona el error “No se pudo conectar, reintentando…”

  • Puede que la instancia no ejecute el entorno invitado. Verifica que el entorno 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 invitado actualiza el archivo ~/.ssh/authorized_keys con la llave SSH pública que se usa 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 arranque de la instancia para aumentar su tamaño. Si la imagen de sistema operativo que usa la instancia admite el cambio de tamaño automático, esta es la opción más sencilla, ya que el sistema operativo cambia de forma automática el tamaño de la partición raíz para que coincida con el tamaño nuevo después de reiniciar la instancia.
    • Si sabes qué archivos usan el espacio en el disco, crea una secuencia de comandos de inicio que borre los archivos innecesarios y libere espacio para que se 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 adecuados. Después de que se inicie la instancia y puedas conectarte a ella a través de la conexión SSH, configura el elemento de metadatos startup-script para que deje de borrar los archivos.
    • Para obtener información sobre cómo acceder al disco de la instancia, consulta Sugerencias generales para usar Compute Engine.
  • Es posible que los permisos o la propiedad de $HOME, $HOME/.ssh o $HOME/.ssh/authorized_keys sean incorrectos.

    • Propiedad: El entorno invitado debe poder almacenar la llave SSH pública en el archivo $HOME/.ssh/authorized_keys del usuario que se conecta. Asegúrate de que el propietario del directorio $HOME, del directorio $HOME/.ssh y del archivo authorized_keys sea el mismo que el usuario que se conecta.
    • Permisos: Intenta conectarte como un usuario diferente. Para ello, cambia el nombre de usuario y soluciona cualquier problema de permisos del usuario que no se puede conectar.

      Directorio/archivo Permiso obligatorio de Unix
      El directorio $HOME 0755 o
      0700
      El directorio $HOME/.ssh 0700
      El archivo authorized_keys 0600

Copia y pega

Puedes copiar y pegar texto mediante las combinaciones de teclas admitidas por el navegador y la plataforma (Ctrl+C y Ctrl+V en Windows y Linux, Cmd+C y Cmd+V en macOS, y Ctrl+Shift+V en el Sistema operativo Chrome). En general, estos comandos funcionan para la mayoría de las configuraciones, pero la tuya podría 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.

Para obtener más información, consulta Transfiere archivos con SSH en el navegador.

Desplázate

Puedes desplazarte por la terminal con la rueda del mouse o el panel táctil. Como alternativa, con las combinaciones de teclas Ctrl+Shift+PageUp y Ctrl+Shift+PageDn, te puedes desplazar por la terminal en Windows y Linux, y con Fn+Shift+Up y Fn+Shift+Down, en macOS.

Nombre de usuario de acceso

Nombre de usuario predeterminado

Según la 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 una versión más larga del nombre de usuario de forma predeterminada. 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 es user_gmail_com. Para obtener más información sobre los comportamientos del 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 de la conexión SSH:

  1. Conéctate a una instancia de VM.
  2. En la esquina superior derecha de la ventana de SSH, haz clic en el ícono de Configuración Ícono de configuración.
  3. Selecciona Cambiar el 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, por lo que los nombres de usuario predeterminados y configurados se truncan para que no excedan ese límite.
  4. Copia datos en el nuevo directorio de inicio (opcional). Cada nombre de usuario nuevo es un usuario de Unix diferente, por lo que, si usaste tu directorio principal para almacenar cualquier dato, puedes copiar los datos en el directorio nuevo mediante 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