Mostrar ventanas de Linux en Windows de forma remota usando SSH

"X11 forwarding" desde Linux hacia Windows

Una funcionalidad muy valiosa de SSH aparte de otras es la de poder redirigir el “sistema de ventanas X” hacia un ordenador remoto, lo que viene a decir simplemente que un usuario puede recibir las ventanas de un sistema operativo Linux remoto en un ordenador local ya sea Linux, Mac OS o Windows.

Digamos que por cualquier motivo necesitas acceder a uno de los programas instalados en el equipo remoto (“servidor” de aquí en adelante) y no sabes manejarlo mediante la línea de comandos, o simplemente ese preciso programa no permite usarse mediante la línea de comandos. Pues tan simple como conectarte mediante SSH redirigiendo las X de tal manera que cualquier aplicación que ejecutes en el servidor será reenviada al equipo en el que te encuentras (“local”). Podríamos considerarlo una conexión VNC sólo que ésta enviaría el escritorio al completo, mientras que redirigiendo las X vía SSH simplemente veríamos la ventana de las aplicaciones que deseemos y no el escritorio al completo. Esto sin entrar en detalles de seguridad, fiabilidad de un sistema frente al otro, ya que las ventajas de SSH frente a VNC no sólo son las aquí mencionadas.

Las conexiones entre un servidor Linux y un cliente, también Linux o Mac OS no requieren de alguna configuración especial, simplemente en el propio comando de conexión SSH añadimos la opción “-X” lo que le indicará que la conexión ha de redirigir las ventanas al equipo local. Por ejemplo:

ssh 192.168.1.13 -p 2222 -X

De esta manera cada aplicación que ejecutemos en el servidor será redirigida al equipo local. Como la redirección hacia un equipo Linux o Mac OS no tiene mayor ciencia que la mencionada, sólo veremos cómo hacerlo hacia un equipo Windows (desde un servidor Linux claro está).

En Windows la cosa cambia, ya que es necesario tener instalado un software especial que es el que se encargará de interpretar las órdenes del servidor gráfico X11 ya que por el contrario, sin esto, Windows no sería capaz de interpretar los comandos y por tanto no sabría dibujar las ventanas. El software en cuestión es Xming y lo puedes descargar desde aquí. Para realizar la conexión SSH desde Windows utilizaremos Putty, un software también gratuito para realizar conexiones remotas a equipos utilizando diferentes protocolos, que podrás descargar también desde aquí. No creo que sea necesario mencionar que aparte de lo dicho arriba, es necesario tener un servidor con el servicio SSH funcionando correctamente.

Una vez tenemos todo el software necesario para realizar la conexión comenzamos con el proceso:

  • Primero habilitamos el redireccionamiento de las X en el servidor editando el fichero “/etc/ssh/sshd_config”  (por defecto) si no estaban ya habilitadas. Sólo hay que habilitar el “X11 Forwarding” (“Redireccionar X11”) modificando la sentencia “X11Forwarding no” por “X11Forwarding yes”
  • Una vez hecho esto estamos listos para empezar con la conexión, empezaremos por ejecutar el intérprete de las X en Windows (Xming) cómo si de cualquier otro programa se tratara, y después es necesario ejecutar el programa XLaunch que es el que se encargará de configurar la forma de interpretar las órdenes para Xming, con darle todo a “Siguiente” en XLaunch nos sirve.
  • Una vez ejecutados XLaunch y Xming sólo nos queda realizar la conexión SSH para lo cuál emplearemos Putty cómo hemos dicho anteriorment, lo ejecutamos y en la primera ventana introducimos la dirección IP del servidor y el puerto en el que escucha (por defecto suele ser 22 así que no es necesario cambiarlo, a no ser que se haya cambiado, como en el ejemplo que usamos el 2222 que es dónde escucha mi servidor SSH)

Configuración básica Putty

  • Para poder redirigir las X hay que ir a “Connection”, desplegar “SSH” y activar “X11”, en la ventanita de la derecha nos saldrán las opciones disponibles, en ella activamos “Enable X11 forwarding”

Habilitar redireccionamiento de las "X"

  •  A partir de este momento podemos realizar la conexión al servidor presionando en el botón “Open”. Nada más conectar nos pedirá la contraseña del usuario y nos mostrará el “Terminal” del sistema, sólo tendemos que ejecutar cualquier aplicación para recibir sus ventanas siempre y cuándo ésta haga uso del entorno gráfico, sino su uso será mediante la línea de comandos.

Quizá leyéndolo pueda parecer un proceso largo y tedioso, pero nada que ver. Una vez lo hayas hecho verás como en realidad son cuatro pasos, y sin embargo el potencial de control que nos ofrece es inmenso. Sin hablar de las ventajas de usar SSH frente a VNC cómo ya hemos dicho anteriormente.

Relacionado:

By | 2017-09-26T22:11:01+00:00 septiembre 1st, 2011|Administrador de sistemas, Informática, Linux, Windows|0 Comments

About the Author:

Desarrollador de software de profesión, apasionado de la informática y todo lo relacionado con la tecnología

Leave A Comment