Configurar el acceso a un escritorio remoto en un servidor Debian no es algo que pensé que haría hace tres años. En aquel entonces, SSH era suficiente para todo. Pero el trabajo remoto cambió eso por completo.
XRDP le brinda acceso GUI a su sistema Debian desde cualquier lugar. Ya sea que esté solucionando problemas desde casa o necesite mostrarle algo visual a un colega, es mejor que intentar explicar los comandos del terminal a través de Slack.
¿Qué es XRDP y por qué usarlo para el escritorio remoto de Debian?

XRDP implementa el protocolo de escritorio remoto de Microsoft en sistemas Linux. A diferencia de VNC, que requiere su propio software cliente, RDP funciona con la Conexión a Escritorio remoto de Windows incorporada.
La demanda de soluciones de escritorio remoto se ha disparado, con la Se prevé que el mercado mundial de software de escritorio remoto alcance los 11.980 millones de dólares en 2032.. Esto refleja cuán común se ha vuelto el acceso remoto.
He aquí por qué prefiero XRDP a las alternativas:
- Funciona con el cliente RDP nativo de Windows
- Cifra las conexiones de forma predeterminada
- Admite múltiples usuarios simultáneos
- Utiliza menos ancho de banda que la mayoría de las implementaciones de VNC
- Maneja el portapapeles y el intercambio de archivos razonablemente bien
Debian sigue funcionando 96,3% de los mejores servidores web, dominando el 16% del mercado de servidores Linux. Ese uso generalizado significa mucha documentación cuando las cosas van mal.
Requisitos del sistema para el servidor Debian RDP
Necesitará algunas cosas antes de comenzar:
- Debian 10, 11 o 12
- Al menos 2 GB de RAM (lo aprendí cuando mi instancia de 1 GB seguía fallando)
- Acceso root o sudo
- Conexión de red para descargas.
- 2GB free disk space minimum
Para configuraciones en la nube, un VPS Debian Funciona bien. Probé esto en gotas de DigitalOcean e instancias de Linode sin problemas.
Cómo actualizar Debian antes de la instalación de XRDP

Actualice siempre primero. Una vez pasé dos horas depurando conflictos de paquetes que una simple actualización habría evitado.
sudo apt update && sudo apt upgrade -y
Esto extrae la información más reciente del paquete y aplica parches de seguridad. El -y flag omite las indicaciones de confirmación.
Cómo instalar un entorno de escritorio para XRDP en Debian

La mayoría de los servidores Debian funcionan sin cabeza. Necesita un entorno de escritorio para que XRDP funcione correctamente.
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
Utilizo Xfce porque es liviano y estable en conexiones remotas. GNOME también funciona pero utiliza más recursos. El xfce4-golosinas El paquete agrega extras útiles como una calculadora y un editor de texto.
Instalación paso a paso de XRDP en el servidor Debian

Instale XRDP desde los repositorios de Debian:
sudo apt install xrdp -y
Comprueba si empezó correctamente:
sudo systemctl status xrdp
deberías ver activo (corriendo) en verde. Si no, algo salió mal con la instalación.
Cómo configurar los ajustes XRDP y las sesiones de usuario en Debian

XRDP necesita algunos ajustes para funcionar sin problemas. La configuración predeterminada causa problemas con los que me he encontrado varias veces.
Configuración de sesiones de usuario para Debian XRDP
Cree un archivo de sesión para cada usuario que necesite acceso RDP:
echo "xfce4-session" > ~/.xsession
Sin este archivo, obtendrás un escritorio en blanco después de iniciar sesión. Me tomó una eternidad darme cuenta de esto la primera vez.
Cómo agregar un usuario XRDP al grupo de certificados SSL
XRDP necesita acceso a certificados SSL para conexiones seguras:
sudo adduser xrdp ssl-cert
Reiniciar el servicio XRDP después de los cambios
Reinicie el servicio para recoger los cambios de configuración:
sudo systemctl restart xrdp
Cómo abrir el puerto 3389 para RDP en Debian

RDP usa el puerto 3389. Debe abrirlo en su firewall mientras mantiene todo lo demás bloqueado.
Acceso RDP seguro con UFW Firewall en Debian
UFW (Firewall sin complicaciones) es más sencillo para configuraciones básicas:
sudo ufw allow 3389/tcp
Para mayor seguridad, restrinja el acceso a su dirección IP:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
Reemplazar TU_DIRECCIÓN_IP con su IP pública real.
Cómo utilizar nftables para reglas de firewall XRDP
Si estás usando nftables en lugar de UFW:
sudo nft add rule inet filter input tcp dport 3389 ct state new, established counter accept
Prefiero UFW para la mayoría de las situaciones, pero nftables te brinda un control más granular si lo necesitas.
Cómo editar XRDP.ini por motivos de seguridad y rendimiento
La configuración XRDP predeterminada funciona para acceso básico, pero es posible que desees personalizar la configuración de conexión o los parámetros de seguridad.
Edite el archivo de configuración principal:
sudo nano /etc/xrdp/xrdp.ini
Configuraciones clave a considerar:
- capa_seguridad=tls – Fuerza el cifrado TLS
- nivel_cripta=alto – Nivel máximo de cifrado
- puerto=3389 – Cambie esto para que se ejecute en un puerto diferente
Configurando InicioWM.sh para sesiones XRDP estables
El script de inicio de sesión controla lo que sucede cuando los usuarios se conectan:
sudo nano /etc/xrdp/startwm.sh
Agregue estas líneas al final para evitar problemas comunes de sesión:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
Estas variables de entorno pueden interferir con el inicio de la sesión de escritorio. Encontré este problema al intentar ejecutar aplicaciones que necesitaban comunicación D-Bus.
Conexión al servidor Debian RDP
Una vez configurado, la conexión es sencilla desde diferentes sistemas operativos.
Cómo conectarse a Debian XRDP desde Windows
Windows incluye un cliente RDP de forma predeterminada:
- Busque "Conexión a escritorio remoto"
- Ingrese la dirección IP de su servidor
- Haga clic en Conectar
- Ingrese su nombre de usuario y contraseña de Debian
- Seleccione "Xorg" cuando se le solicite el tipo de sesión
La conexión suele establecerse en unos pocos segundos en una red local.
Cómo conectarse a Debian XRDP desde Linux (usando Remmina)
Instale Remmina, que maneja bien las conexiones RDP:
sudo apt install remmina remmina-plugin-rdp
Remmina proporciona una GUI para administrar múltiples conexiones remotas. Puede guardar perfiles de conexión y ajustar la configuración de pantalla por conexión.
Mejores prácticas para proteger el servidor RDP de Debian

RDP tiene importantes implicaciones de seguridad. Los ciberdelincuentes abusan de RDP en el 90% de los ataques manejados por equipos de respuesta a incidentes.
Cómo habilitar el cifrado TLS para XRDP en Debian
Genere certificados autofirmados para conexiones cifradas:
sudo mkdir -p /etc/xrdp/certs
cd /etc/xrdp/certs
sudo openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
Esto crea certificados válidos por un año. Utilice un certificado de CA adecuado en entornos de producción.
Cómo configurar el túnel SSH para RDP en Debian
Para máxima seguridad, haga un túnel RDP a través de SSH:
ssh -L 3389:localhost:3389 user@your-debian-server
Luego conéctate a servidor local: 3389 en lugar de la IP pública del servidor. Esto cifra todo el tráfico RDP a través del túnel SSH.
Cambie el puerto XRDP de 3389 a puerto personalizado
Cambie el puerto predeterminado para reducir los intentos de ataques automatizados:
sudo nano /etc/xrdp/xrdp.ini
Cambiar puerto=3389 a algo como puerto=13389y luego reinicie XRDP. Recuerde actualizar las reglas de su firewall en consecuencia.
Solución de problemas de XRDP en Debian

Regularmente surgen varios problemas con las instalaciones de XRDP.
Cómo resolver problemas de compatibilidad de Wayland y XRDP
XRDP no funciona correctamente con los servidores de visualización Wayland. Forzar al sistema a usar Xorg:
sudo nano /etc/gdm3/custom.conf
Descomentar esta línea:
WaylandEnable=false
El modelo de seguridad de Wayland entra en conflicto con la forma en que XRDP accede al sistema de visualización. Esto no se solucionará pronto.
Configurar múltiples sesiones de usuario en XRDP
Cada usuario necesita su propia configuración de sesión:
echo "xfce4-session" | sudo tee /home/username/.xsession
sudo chown username: username /home/username/.xsession
Reemplazar nombre de usuario con el nombre de usuario real. Sin la propiedad adecuada, el archivo de sesión no funcionará.
Cómo optimizar la velocidad XRDP en conexiones lentas

Varios ajustes mejoran el rendimiento de RDP, especialmente en conexiones más lentas:
- Utilice Xfce en lugar de GNOME o KDE
- Deshabilitar animaciones y efectos de escritorio
- Reducir la resolución de pantalla para sesiones remotas
- Habilite la compresión en su cliente RDP
- Considerar VPS Ubuntu or VPS Fedora si Debian no satisface sus necesidades
La mayor ganancia de rendimiento proviene de la elección de un entorno de escritorio liviano. GNOME puede usar más de 500 MB de RAM solo para el escritorio, mientras que Xfce usa alrededor de 200 MB.
Vídeo de configuración de Debian RDP [Instalar XRDP para servidor de escritorio remoto]
Conclusión
XRDP transforma un servidor Debian sin cabeza en algo que puede administrar gráficamente desde cualquier lugar. El proceso de configuración tiene sus peculiaridades, pero una vez que funciona, es bastante confiable.
Para implementaciones de producción, considere soluciones administradas como Comprar RDP servicios que manejan la complejidad por usted.
Mantenga su sistema actualizado y supervise los registros de acceso con regularidad. Si está comparando distribuciones, consulte Debian frente a Ubuntu para ver cuál se adapta mejor a sus necesidades.