Acceder al escritorio remoto de GNU/Linux Ubuntu 10.04 utilizando Xephyr

Introducción.

En artículos anteriores había documentado como ejecutar aplicaciones que se ejecutan en servidores X remotos mostrando su interfaz de usuario a través del servidor X local de GNU/Linux (con Windows también).

Escritorio remoto con Xephyr

Siempre me había preguntado como acceder a la sesión remota de usuario desde el inicio, es decir, desde el GDM (en el caso de GNOME).  En la noche de hoy encontré la respuesta.

Descripción del procedimiento.

  • El servidor, equipo que ejecuta el servidor X remoto, debe tener activo y visible el servicio de XDMCP.
  • El cliente, equipo que va a consumir el escritorio remoto, deberá contar con el software Xephyr instalado.

Hasta ahora he encontrado un par de situaciones que deben tenerse en cuenta o resolverse posteriormente.

  • GNOME utiliza por defecto NetworkManager como su applet para la configuración y administración de las conexiones de red.  Este software sólo realiza las conexiones inalámbricas de red cuando un usuario autorizado inicia sesión.  Dependiendo del escenario es posible que sea mas conveniente utilizar un administrador de conexiones diferente como Wicd.
  • El audio de la sesión se ejecuta a través del hardware local, lo cual puede ser desconcertante según las circunstancias.

Activar XDMCP en el servidor.

Para activar XDMCP en el servidor X de un GNU/Linux Ubuntu 10.04 es necesario crear o editar el siguiente archivo de configuración.

$ sudo vi /etc/gdm/custom.conf

# GDM configuration storage

[xdmcp]
Enable=true
#DisplaysPerHost=10

[chooser]

[security]

[debug]

Reiniciar el servicio de GDM.

$ sudo service gdm restart

Tenga en cuenta que el servicio es XDMCP es considerado inseguro y que sólo debe activarse en redes confiables, así mismo se recomienda utilizar medidas de seguridad como aplicar restricciones a su acceso como agregando reglas al firewall por ejemplo.

Instalar Xephyr.

En el equipo cliente es necesario instalar Xephyr el cual actúa como un servidor X interno que muestra su contenido en una ventana del servidor X principal de la estación de trabajo.

$ sudo aptitude install xserver-xephyr

Iniciar la sesión de usuario remota.

Desde el equipo cliente ejecute el siguiente comando para iniciar la sesión grafica de usuario.

$ Xephyr :1 -query mi.servidor.com -ac -br -screen 1024×768 2> /dev/null

Según la instrucción anterior se pueden deducir los siguientes parámetros.

  • Se utilizará el DISPLAY número #1.
  • El nombre del servidor remoto es mi.servidor.com (es posible especificar una dirección IP de ser necesario).
  • -ac: Se desactivan las restricciones del control de acceso para permitir el reenvío de X (de ser necesario).
  • -br: Se configura el fondo de color negro.
  • Se configura la resolución de la pantalla.  En este caso se especifica 1024×768, sin embargo puede ajustarse libremente según las necesidades específicas.

Restringir el acceso a XDMCP.

Debido a que XDMCP es considerado muy inseguro ya que transmite la información sin ningún tipo de cifrado, es importante realizar ajustes para limitar su acceso.  En este apartado se describirá como limitar las ubicaciones desde las cuales los clientes pueden conectarse al servicio, lo cual si bien no ayuda a mejorar el problema del transporte de información plana, ayuda a restringir los posíbles orígenes desde los cuales se pueda atacar el servicio.

Para implementar esta restricción se utiliza TCPWrappers de la siguiente manera en el servidor.

$ vi /etc/hosts.deny

gdm: all

$ vi /etc/hosts.allow

gdm: 192.168.1.10, .jorgeivanmeza.com, 192.168.2.

La configuración anterior permite únicamente las conexiones a XDMCP desde la ubicación 192.168.1.0, cualquier equipo que pruebe ser del dominio jorgeivanmeza.com y cualquier equipo de la subred 192.168.2.xxx.

3 thoughts on “Acceder al escritorio remoto de GNU/Linux Ubuntu 10.04 utilizando Xephyr”

  1. Buen aporte, puede ayudarme a configurar paso a paso Xephyr en ubuntu 12 para compartir una pc con dos usuarios osea una cpu con dos monitores, dos teclados, dos ratones.

Leave a Reply

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