Conexión a un servidor SSH desde Linux: CLI y aplicaciones gráficas

Introducción.

Como todo el mundo sabe el protocolo SSH permite hacer lo mismo que el protocolo Telnet con una variación importante: de manera segura.  Supuestamente se debería utilizar siempre el primero en medios inseguros como Internet y el segundo en medios confiables como la LAN.  En mi opinión se debe utilizar siempre, Telnet, al igual que FTP, ya no existen para mi.

Pero con SSH se pueden hacer muchas otras cosas -seguras- además de sólo ejecutar aplicaciones de línea de comando (CLI), también es posible ejecutar aplicaciones gráficas mediante el procolo del sistema X Window.  Para hacer esto, antes utilizaba un método bastante problemático y largo.

Conexión – método antigüo.

El primer paso era abrir una conexión SSH normal con el servidor.

$ ssh usuario@servidor

En el servidor remoto, hacía apuntar a la variable DISPLAY hacia mi equipo local.  Siendo 192.168.1.100 la dirección IP de mi estación de trabajo.

$ export DISPLAY=192.168.1.100:0.0

Después, localmente en la estación de trabajo era necesario autorizar la recepción de información desde el servidor.

$ xhost + servidor

A partir de este momento los comandos ejecutados desde el shell remoto se mostrarán gráficamente en el servidor X de la estación de trabajo.

Si se presentaban problemas había que revisar los firewalls, tanto de entrada como de salida para garantizar que no se estuvieran filtrando los puertos requeridos por el protocolo.

Este método funciona tanto con SSH como con Telnet, pero su transmisión no se realiza de manera segura, así que no es ideal.

Conexión – método OpenSSH.

Gracías al servidor SSH de OpenSSH hay una segunda opción, mucho más fácil y mucho mas confiable porque la información transmitida si se encuentra encriptada.

En el servidor modifique el archivo /etc/ssh/sshd_config para que contenga la siguiente línea (sin comentario –#).

# vi /etc/ssh/sshd_config

X11Forwarding yes

Si hubo necesidad de actualizar el archivo mencionado para incluír el cambio, es necesario reiniciar el servicio SSH.

# service sshd restart

Desde la estación de trabajo realice la conexión SSH con el servidor de la siguiente manera.

$ ssh -X usuario@servidor

Listo!  Las aplicaciones que ejecute en el shell remoto se desplegarán gráficamente en el servidor Windows X de la estación de trabajo que inició la sesión de SSH.

Obviamente los pasos 1 y 2 sólo se deben ejecutar una única vez mientras se configura el sshd, así que para incluír las aplicaciones graficas con SSH, en realidad, sólo hay que agregar el modificador -X en la invocación del cliente.

Enlaces.

One thought on “Conexión a un servidor SSH desde Linux: CLI y aplicaciones gráficas”

Leave a Reply

Your email address will not be published. Required fields are marked *