Hay momentos en los que es más rápido, más fácil o incluso necesario usar una aplicación gráfica, y también hay momentos en los que puede estar lejos de la computadora que tiene instaladas las aplicaciones cruciales.
Sea cual sea el escenario, Linux y otros sistemas operativos que ejecutan un servidor X tienen la capacidad de reenviar una aplicación gráfica a través de SSH. Siguiendo unos sencillos pasos, puede ejecutar una aplicación remota en todo su esplendor gráfico.
Nota: si está realizando múltiples conexiones SSH a su máquina remota, puede hacer que su máquina muestre todas las conexiones SSH activas.
Instalación y configuración
Antes de comenzar, debe asegurarse de que el cliente y el servidor SSH estén instalados en las computadoras correctas. La computadora host que tiene las aplicaciones en ejecución reales necesita tener un servidor SSH en ejecución.
Para instalar SSH, debe ejecutar el siguiente comando en las máquinas cliente y servidor:
sudo apt install ssh
El otro paso preliminar importante es asegurarse de que ambas computadoras estén conectadas a una red y que pueda comunicarse con ellas a través de SSH. Si las computadoras están en el mismo edificio, será fácil. De lo contrario, es posible que deba configurar la computadora host para recibir conexiones SSH a través del firewall. Consulte la documentación de su enrutador para conocer el método correcto de reenvío de puertos.
Conexión a un servidor remoto
- Abra un emulador de terminal: Gnome Terminal, Konsole o algo similar.
- Conéctese a la computadora host. Como ejemplo, si la dirección IP del host es 192.168.68.155 y el nombre de usuario del host es «ramces», debe escribir lo siguiente:
ssh -X ramces@192.168.68.155
Esto le dice a SSH que inicie las llamadas del servidor de reenvío X a la computadora cliente.
- En la solicitud de contraseña, ingrese la contraseña.
- Ejecute la aplicación. Por ejemplo, si desea ejecutar Gedit, simplemente escriba el comando:
gedit &
Nota: si está utilizando KDE, deberá agregar «dbus-launch» antes de las aplicaciones de KDE. Por ejemplo: dbus-launch kwrite &
. Otras aplicaciones que no requieren D-Bus deberían funcionar sin él.
Automatización y protección de SSH X-Forwarding
Ahora debería poder ejecutar aplicaciones X remotas a voluntad. Esto puede ser muy útil si, por ejemplo, está ejecutando una computadora con un disco duro muy pequeño, sin disco duro o incluso sin unidad de CD-ROM, todo lo cual es común con muchas netbooks y mini computadoras de escritorio de bajo costo.
Para automatizar este proceso, puede configurar claves públicas SSH para conectarse sin contraseñas y escribir un script ejecutable. Además, si necesita reenviar una sesión X completa, puede usar la tecnología VNC a través de TigreVNC y x11vnc.
Al igual que con cualquier solución de red, también debe asegurarse de que su servidor remoto sea seguro. El uso de SSH proporciona una conexión segura, pero es inútil si su contraseña es fácil de adivinar y su firewall permite que cualquiera pueda acceder a ella.
Una vez que tenga un plan seguro implementado, el reenvío remoto de X es una excelente manera de cargar aplicaciones remotas bajo demanda y administrar máquinas remotas. Las posibilidades están limitadas a su imaginación y la velocidad de su conexión de red.
Preguntas frecuentes
¿Se puede usar SSH X-Forwarding en los sistemas de Wayland?
¡Sí! Puede usar fácilmente SSH X-Fowarding en Wayland instalando xwayland. Esta es una capa de compatibilidad que sirve para vincular aplicaciones exclusivas de Xorg a un entorno puramente Wayland. Para instalar esto, ejecute sudo apt install xwayland
.
Aparte de eso, también puede forzar SSH X-Forwarding en los sistemas Wayland reemplazando el indicador «-X» con «-Y». Sin embargo, esta opción alternativa es increíblemente insegura. Debe asegurarse de estar en una red privada y cerrada cuando use esta bandera en particular.
¿Por qué se pierden algunas de mis entradas en la aplicación remota?
Lo más probable es que este problema se deba a un problema de latencia entre su máquina local y remota. SSH X-Forwarding debería ser una solución confiable siempre que haya menos de 5000 ms de retraso entre su máquina local y remota, ya que el cliente SSH descarta cualquier conexión extremadamente lenta para protegerlo de un ataque Slow Loris.
¿Puedo acceder a archivos locales a través de mi aplicación remota con SSH X-forwarding?
No. De manera predeterminada, SSH X-forwarding solo «transmite» un programa GUI desde su máquina remota a la pantalla de su computadora local para que un programa GUI bajo X-forwarding se comporte más como una proyección que como una copia impresa de un programa. Por eso, este programa GUI remoto solo podrá acceder a los archivos que también están disponibles en su máquina remota.
Credito de imagen: Unsplash. Todas las alteraciones y capturas de pantalla por Ramces Red.
Danos tu opinión