Como usuario suscriptor, puede usar el script para completar este tutorial con solo un comando simple. Visite la siguiente página: Secuencia de comandos de Debian 10
Introducción
Xrdp es una implementación de código abierto del Protocolo de escritorio remoto de Microsoft (RDP) que le permite controlar gráficamente un sistema remoto. Con RDP, puede iniciar sesión en la computadora remota y crear una sesión de escritorio real como si estuviera iniciando sesión en una computadora local.
Este tutorial describe cómo instalar y configurar el servidor Xrdp en Debian 10 Linux.
Si está buscando una solución de código abierto para el acceso a escritorio remoto, debería consultar VNC.
Instalar un entorno de escritorio
Normalmente, los servidores Linux no tienen un entorno de escritorio instalado de forma predeterminada. El primer paso es instalar X11 y un entorno de escritorio que actuará como backend para Xrdp.
Hay varios entornos de escritorio (DE) disponibles en los repositorios de Debian. Instalaremos Xfce. Es un entorno de escritorio rápido, estable y liviano, lo que lo hace ideal para su uso en un servidor remoto. Si prefiere otro entorno de escritorio como Gnome, puede instalarlo en lugar de Xfce.
Ingrese los siguientes comandos como root o usuario con privilegios sudo para instalar Xfce en el servidor:
sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Dependiendo de su sistema y conexión, la descarga e instalación de los paquetes Xfce llevará algún tiempo.
Instalar Xrdp
El paquete Xrdp está disponible en los repositorios estándar de Debian. Para instalarlo, ejecute:
sudo apt install xrdp
El servicio se iniciará automáticamente al final del proceso de instalación. Puede verificar que el servicio Xrdp se esté ejecutando escribiendo:
sudo systemctl status xrdp
La salida se verá así:
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-04-02 00:39:12 CEST; 1min 5s ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Main PID: 21221 (xrdp)
Tasks: 1 (limit: 2300)
CGroup: /system.slice/xrdp.service
└─21221 /usr/sbin/xrdp
Apr 02 00:39:11 TEST-SERVER-1 systemd[1]: Starting xrdp daemon...
Apr 02 00:39:11 TEST-SERVER-1 xrdp[21220]: (21220)(140593578424128)[DEBUG] Testing if xrdp can listen on 0.0.0.0 port 3389.
Apr 02 00:39:11 TEST-SERVER-1 xrdp[21220]: (21220)(140593578424128)[DEBUG] Closed socket 7 (AF_INET6:: port 3389)
Apr 02 00:39:11 TEST-SERVER-1 systemd[1]: xrdp.service: Can't open PID file /var/run/xrdp/xrdp.pid (yet?) after start: No such file or directory
Apr 02 00:39:12 TEST-SERVER-1 systemd[1]: Started xrdp daemon.
Apr 02 00:39:13 TEST-SERVER-1 xrdp[21221]: (21221)(140593578424128)[INFO ] starting xrdp with pid 21221
Apr 02 00:39:13 TEST-SERVER-1 xrdp[21221]: (21221)(140593578424128)[INFO ] listening to port 3389 on 0.0.0.0
De forma predeterminada, Xrdp usa el /etc/ssl/private/ssl-cert-snakeoil.key
que solo pueden leer los usuarios que son miembros del grupo ssl-cert
. Ejecute el siguiente comando para agregar el usuario xrdp
al grupo:
sudo adduser xrdp ssl-cert
Eso es todo. Xrdp se ha instalado en su sistema Debian.
Configurar Xrdp
Los archivos de configuración de Xrdp se almacenan en el /etc/xrdp
. Para las conexiones básicas de Xrdp, no es necesario realizar ningún cambio en los archivos de configuración. Xrdp utilizará el escritorio X Window predeterminado, que en este caso es XFCE.
El archivo de configuración principal se llama xrdp.ini
. Este archivo está dividido en secciones y le permite establecer ajustes de configuración global, como direcciones de seguridad y de escucha, y crear diferentes sesiones de inicio de sesión xrdp.
Siempre que realice cambios en el archivo de configuración, debe reiniciar el servicio Xrdp:
sudo systemctl restart xrdp
Xrdp usa el startwm.sh
para iniciar la sesión X. Para usar otro escritorio X Window, edite este archivo.
Configurar el firewall
De forma predeterminada, Xrdp escucha en el puerto 3389
en todas las interfaces. Si el firewall de su servidor Debian está activo, lo que siempre debe hacer, deberá agregar una regla que habilite el tráfico en el puerto Xrdp.
Suponiendo que está utilizando ufw para administrar el firewall, ejecute el siguiente comando para permitir el acceso al servidor Xrdp desde una dirección IP o rango de IP específicos, en este ejemplo 192.168.1.0/24
:
sudo ufw allow from 192.168.1.0/24 to any port 3389
Si desea permitir el acceso desde cualquier lugar (lo cual no es muy recomendable por razones de seguridad) haga:
sudo ufw allow 3389
Si está utilizando nftables para filtrar las conexiones a su sistema, abra el puerto necesario ejecutando el siguiente comando:
sudo nft add rule inet filter input tcp dport 3389 ct state new,established counter accept
Para mayor seguridad, puede considerar configurar Xrdp para que escuche solo en localhost y crear un túnel SSH que reenvíe de manera segura el tráfico desde su computadora local en el puerto 3389
al servidor en el mismo puerto. Otra opción segura es instalar OpenVPN y conectarse al servidor Xrdp a través de la red privada.
Conéctese al servidor Xrdp
Ahora que ha configurado su servidor Xrdp, es hora de abrir su cliente Xrdp y conectarse al servidor.
Si tiene una PC con Windows, puede utilizar el cliente RDP predeterminado. Escriba remoto
en la barra de búsqueda de Windows y haga clic en Connessione desktop remoto
. Esto abrirá el cliente RDP
En el Computer
, ingrese la dirección IP del servidor remoto y haga clic en Connetti
.
En la pantalla de inicio de sesión, ingrese su nombre de usuario y contraseña y haga OK
en Aceptar.
Una vez que haya iniciado sesión, debería ver el escritorio Xfce predeterminado.
Ahora puede comenzar a interactuar con el escritorio XFCE remoto desde su computadora local usando el teclado y el mouse.
Si está utilizando macOS, puede instalar la Microsoft Remote Desktop
desde Mac App Store. Los usuarios de Linux pueden utilizar un cliente RDP como Remmina
o Vinagre
.
Conclusión
La instalación de un servidor Xrdp le permite administrar el servidor Debian 10 desde su computadora de escritorio local a través de una interfaz gráfica fácil de usar.