Una característica interesante del protocolo SSH es la ejecución remota de aplicaciones X. Esto significa que vamos a poder ejecutar aplicaciones con un entorno gráfico que están en servidores remotos y recibir su contexto gráfico en el escritorio de la misma manera que se puede ejecutar una aplicación en local. Esto puede ser útil en ocasiones muy extremas, ya que un buen administrador debe hacer toda su faena en un entorno CLI o así lo dicta nuestra iglesia del SysAdmin. Dichas comunicaciones entre cliente/servidor se realizan a través de peticiones y respuestas cifradas (más faltaría).

Así que hoy os voy a explicar como hacer esto que ya digo que no es la mejor opción, pero siempre nos puede solucionar un problema importante. Este proceso lo he realizado en una maquina virtual que utilicé para hacer otra entrada la MV es un CentOS 7.

Requerimientos

  • El cliente y el servidor tienen que estar ejecutando servidores de ventanas X (si no es así, nos sale un error, más abajo está como solucionarlo).
  • El cliente y el servidor deben de tener iniciado el servicio de SSH y debe estar bien configurado.
  • Necesitamos saber usuario y contraseña de uno de los usuarios del servidor para conectarnos desde el cliente.

Configuración del servidor

Para ejecutar aplicaciones X solo es necesario configurar el servidor. Así que nos conectamos por SSH al servidor y modificamos el fichero de configuración de SSH.

# nano /etc/ssh/sshd_config

Dentro del fichero tendremos que descomentar los siguientes parámetros:

AllowAgentForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

Como siempre que modificamos un servicio, una vez guardamos el fichero modificado, toca reiniciar el servicio:

# systemctl restart sshd

Ejecutar aplicaciones X

Para utilizar esta característica tenemos que conectarnos por SSH con la siguiente opción:

$ ssh -X usuario@IP

-X: Enables X11 forwarding.  This can also be specified on a per-host basis in a configuration file.

A veces esto puede dar el siguiente error: «X11 forwarding request failed on channel 0»

ssherror

Solucionar problema «X11 forwarding request failed on channel 0»

Para solucionar este problema es necesario tener instalado el paquete xauth en el servidor.

# yum install xauth

Una vez instalado, cerramos sesión e iniciamos de nuevo con el parámetro -X. Nos daremos cuenta de que ya no sale el error y que podremos iniciar aplicaciones.

sshx

Como podemos ver en la imagen, la terminal nos muestra que estamos conectados en 192.168.1.22 (mi maquina virtual de CentOS) y está ejecutando Gparted directamente en el cliente.

Fuente: Solucionar error

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación