Xrdp es una implementación de código abierto del Protocolo de escritorio remoto (RDP) de Microsoft que le permite controlar gráficamente un sistema remoto. Con RDP, puede iniciar sesión en la máquina remota y crear una sesión de escritorio real como si hubiera iniciado sesión en una máquina local.

Este tutorial explica cómo instalar y configurar el servidor Xrdp en CentOS 8.

Si prefiere una alternativa de código abierto, consulte VNC .

Instalación del entorno de escritorio

Generalmente, los servidores Linux no tienen instalado un entorno de escritorio. Si la máquina a la que desea conectarse no tiene GUI, el primer paso es instalarla. De lo contrario, omita este paso.

Gnome es el entorno de escritorio predeterminado en CentOS 8. Para instalar Gnome en su máquina remota, ejecute el siguiente comando

sudo dnf groupinstall "Server with GUI"Dupdo

Dependiendo de su sistema, la descarga e instalación de los paquetes y dependencias de Gnome puede llevar algún tiempo.

Instalación de Xrdp

Xrdp está disponible en el repositorio de software de EPEL. Si EPEL no está habilitado en su sistema, habilítelo escribiendo:

sudo dnf install epel-release

Instale el paquete Xrdp:

sudo dnf install xrdp 

Cuando se complete el proceso de instalación, inicie el servicio Xrdp y habilítelo en el arranque:

sudo systemctl enable xrdp --now

Puede verificar que Xrdp se está ejecutando escribiendo:

sudo systemctl status xrdp

La salida se verá algo como esto:

● xrdp.service - xrdp daemon
   Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-02-02 18:30:43 UTC; 11s ago
  ...

Configuración de Xrdp

Los archivos de configuración se encuentran en el /etc/xrdpdirectorio. Para las conexiones Xrdp básicas, no necesita realizar ningún cambio en los archivos de configuración. Xrdp usa el escritorio predeterminado de X Window, que en este caso es Gnome.

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.

Cada vez que realice cambios en el archivo de configuración, debe reiniciar el servicio Xrdp:

sudo systemctl restart xrdp

Xrdp usa startwm.shel archivo para iniciar la sesión X. Si desea utilizar otro escritorio de X Window, edite este archivo.

Configuración del cortafuegos

De forma predeterminada, Xrdp escucha en el puerto 3389en todas las interfaces. Si ejecuta un firewall en su máquina CentOS (lo que siempre debe hacer), deberá agregar una regla para permitir el tráfico en el puerto Xrdp.

Por lo general, querrá permitir el acceso al servidor Xrdp solo desde una dirección IP específica o un rango de IP. Por ejemplo, para permitir conexiones solo desde el 192.168.1.0/24rango, ingrese el siguiente comando:

sudo firewall-cmd --new-zone=xrdp --permanentsudo firewall-cmd --zone=xrdp --add-port=3389/tcp --permanentsudo firewall-cmd --zone=xrdp --add-source=192.168.1.0/24 --permanentsudo firewall-cmd --reload

Para permitir el tráfico al puerto 3389desde cualquier lugar, utilice los siguientes comandos. Se desaconseja encarecidamente permitir el acceso desde cualquier lugar por razones de seguridad.

sudo firewall-cmd --add-port=3389/tcp --permanentsudo firewall-cmd --reload

Para mayor seguridad, puede considerar configurar Xrdp para escuchar solo en localhost y crear un túnel SSH que reenvíe de manera segura el tráfico desde su máquina local en el puerto 3389al servidor en el mismo puerto.

Otra opción segura es instalar OpenVPN y conectarse al servidor Xrdp a través de la red privada.

Conexión al servidor Xrdp

Ahora que el servidor Xrdp está configurado, es hora de abrir su cliente Xrdp local y conectarse al sistema CentOS 8 remoto.