Escritorio Remoto: rdesktop, tsclient, xrdp, conexiones vnc …

Hoy vamos a aclarar algunos conceptos acerca de los accesos mediante Escritorio Remoto.

Cuando accedemos mediante Escritorio Remoto a un equipo, estamos accediendo a su entorno gráfico. Lógicamente, este equipo deberá tener instalado un entorno gráfico para poder ser accedido.

Cuando se habla de Escritorio Remoto, nos estamos refiriendo al protocolo RDP (Remote Desktop Protocol). Este protocolo propietario de Microsoft emplea el puerto TCP/3389.

CLIENTES

Un cliente GNU de Linux estándar para acceso mediante Escritorio Remoto es rdesktop.

Con este cliente puede accederse perfectamente a un Escritorio Windows (si no se licencia permiten hasta dos conexiones).

Todos los Windows incorporan el cliente estándar para conectarse a otros Escritorios Remotos.

La herramienta rdesktop es CLI, pero hay disponible un Frontend gráfico llamado tsclient, que permite configurarlo más fácilmente.

SERVIDOR

Si queremos acceder mediante un cliente RDP de Windows o mediante rdesktop de Linux a un servidor Linux, como decíamos, primero debemos tener instalado el entorno gráfico.

A continuación hemos de instalar un servidor de RDP. Para ello hay un servidor GNU xrdp (página web del proyecto: http://www.xrdp.org/).

El único problema que hemos encontrado con este servidor xrdp está en el teclado, no parece reconocer el teclado en español. Pero por lo demás funciona perfectamente, como se describe en su web:

An example of a session from start using sesman and Xvnc.

1 – An rdp client connects to the rdp server.  The encryption level is negotiated, the keys are exchanged and the client and server capabilities are exchanged.  The client chooses the bpp and the width and height of the screen.

2 – The client is presented with a simple screen where a module is selected.  The user selected sesman and a username and password are entered and ok button is clicked.

3 – Libvnc.so module is loaded and a tcp connection is made to the ip in xrdp.ini file.  This is usually 127.0.01.  The username and password and client width, height and bpp are sent to sesman.  sesman then uses pam(pam_userpass) to authenticate the user.  if the user is ok, sesman looks for a running session with the width, height, and bpp. if sesman find one, it returns the display its running on.  if not, a new Xvnc is started with the users width, height and bpp.

4 – Linvnc.so connects the the display returns in step 3

Este servidor xrdp requiere para funcionar tiger-vnc-server, y realizamos en su día un tutorial de cómo hacerlo: https://principiatechnologica.com/2013/01/03/conexion-escritorio-remoto-windows-a-centos6/

El sentido que tiene esta instalación es acceder mediante un cliente de Escritorio Remoto de Windows, con el protocolo estándar RDP. Porque si queremos un acceso remoto multiplataforma, probablemente elegiríamos VNC.

VNC

Un sistema de VNC se compone de un cliente, un servidor, y un protocolo de comunicación.

  • El VNC servidor es el programa en el equipo que comparte su pantalla. El servidor de forma pasiva permite al cliente tomar el control de la misma.
  • El VNC cliente (o espectador) es el programa que vigila, controla e interactúa con el servidor. El cliente controla al servidor.
  • El VNC protocolo (RFB) es muy simple, basado en una primitiva gráfica del servidor al cliente: “Póngase un rectángulo de datos de píxel en la posición X,Y especificada y recíbanse mensajes de eventos entre el cliente y el servidor”.

En el método normal de operación, un visor (espectador) se conecta a un puerto en el servidor (puerto por defecto 5900). Alternativamente, un navegador puede conectarse al servidor (dependiendo de la implementación, puerto por defecto 5800). Y un servidor puede conectarse a un espectador en “modo de escucha” en el puerto 5500. Una de las ventajas del modo de escucha es que el sitio del servidor no tiene que configurar su cortafuegos para permitir el acceso en el puerto 5900 (o 5800), la responsabilidad recae en el espectador.

VNC por defecto usa puerto TCP 5900+N,donde N es el número de la pantalla.

Varias implementaciones también inician un servidor básico HTTP en el puerto 5800+N para proporcionar un visor VNC como applet Java, que permite la conexión fácil a través de cualquier navegador web con Java activado. Se puede utilizar distintas asignaciones de puerto siempre y cuando el cliente y el servidor estén configurados para ello.

2 thoughts on “Escritorio Remoto: rdesktop, tsclient, xrdp, conexiones vnc …

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *