Come utente abbonato puoi utilizzare lo script per il completamento di questo tutorial con un solo semplice comando. Collegati al seguente indirizzo: Script per Debian 10

Introduzione

Xrdp è un'implementazione open source di Microsoft Remote Desktop Protocol (RDP) che consente di controllare graficamente un sistema remoto. Con RDP, è possibile accedere al computer remoto e creare una sessione desktop reale come se si effettuasse l'accesso a un computer locale.

Questo tutorial descrive come installare e configurare il server Xrdp su Debian 10 Linux.

Se stai cercando una soluzione open source per l'accesso al desktop remoto, allora dovresti controllare VNC.

Installare un Desktop Environment

Normalmente, i server Linux non hanno un ambiente desktop installato per impostazione predefinita. Il primo passo è installare X11 e un ambiente desktop che fungerà da backend per Xrdp.

Esistono diversi ambienti desktop (DE) disponibili nei repository Debian. Installeremo Xfce. È un ambiente desktop veloce, stabile e leggero, che lo rende ideale per l'utilizzo su un server remoto. Se preferisci un altro ambiente desktop come Gnome, puoi installarlo invece di Xfce.

Immettere i seguenti comandi come utente root o utente con privilegi sudo per installare Xfce sul server:

sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

A seconda del sistema e della connessione, il download e l'installazione dei pacchetti Xfce richiederà del tempo.

Installare Xrdp

Il pacchetto Xrdp è disponibile nei repository Debian standard. Per installarlo, esegui:

sudo apt install xrdp 

Il servizio verrà avviato automaticamente al termine del processo di installazione. Puoi verificare che il servizio Xrdp sia in esecuzione digitando:

sudo systemctl status xrdp

L'output sarà simile al seguente:

● 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

Per impostazione predefinita, Xrdp utilizza il file /etc/ssl/private/ssl-cert-snakeoil.key che è leggibile solo dagli utenti membri del gruppo ssl-cert. Eseguire il comando seguente per aggiungere l'utente xrdp al gruppo:

sudo adduser xrdp ssl-cert  

Questo è tutto. Xrdp è stato installato sul tuo sistema Debian.

Configurare Xrdp

I file di configurazione di Xrdp sono memorizzati nella directory /etc/xrdp. Per le connessioni Xrdp di base, non è necessario apportare modifiche ai file di configurazione. Xrdp utilizzerà il desktop X Window predefinito, che in questo caso è XFCE.

Il file di configurazione principale è denominato xrdp.ini. Questo file è diviso in sezioni e consente di impostare impostazioni di configurazione globali come indirizzi di sicurezza e di ascolto e creare diverse sessioni di accesso xrdp.

Ogni volta che si apportano modifiche al file di configurazione, è necessario riavviare il servizio Xrdp:

sudo systemctl restart xrdp

Xrdp utilizza il file startwm.sh per avviare la sessione X. Per usare un altro desktop X Window, modifica questo file.

Configurare il firewall

Per impostazione predefinita, Xrdp è in ascolto sulla porta 3389 su tutte le interfacce. Se il firewall sul tuo server Debian è attivo, cosa che dovresti sempre fare, dovrai aggiungere una regola che abiliterà il traffico sulla porta Xrdp.

Supponendo che tu usi ufw per gestire il firewall, esegui il comando seguente per consentire l'accesso al server Xrdp da un indirizzo IP o intervallo IP specifico, in questo esempio 192.168.1.0/24:

sudo ufw allow from 192.168.1.0/24 to any port 3389

Se si desidera consentire l'accesso da qualsiasi luogo (che è altamente sconsigliato per motivi di sicurezza) eseguire:

sudo ufw allow 3389

Se si utilizza nftables per filtrare le connessioni al proprio sistema, aprire la porta necessaria eseguendo il comando seguente:

sudo nft add rule inet filter input tcp dport 3389 ct state new,established counter accept

Per una maggiore sicurezza, potresti prendere in considerazione la configurazione di Xrdp per l'ascolto solo su localhost e la creazione di un tunnel SSH che inoltri in modo sicuro il traffico dal tuo computer locale sulla porta 3389al server sulla stessa porta. Un'altra opzione sicura è installare OpenVPN e connettersi al server Xrdp attraverso la rete privata.

Connessione al server Xrdp

Ora che hai configurato il tuo server Xrdp, è tempo di aprire il tuo client Xrdp e collegarti al server.

Se si dispone di un PC Windows, è possibile utilizzare il client RDP predefinito. Digitare remoto nella barra di ricerca di Windows e fare clic su Connessione desktop remoto. Questo aprirà il client RDP. Nel campo Computer, inserisci l'indirizzo IP del server remoto e fai clic su Connetti.

Nella schermata di accesso, inserisci il tuo nome utente e password e fai clic su OK.

Una volta effettuato l'accesso, dovresti vedere il desktop Xfce predefinito.

Ora puoi iniziare a interagire con il desktop XFCE remoto dal tuo computer locale usando la tastiera e il mouse.

Se stai usando macOS, puoi installare l'applicazione Microsoft Remote Desktop dal Mac App Store. Gli utenti Linux possono utilizzare un client RDP come Remmina o Vinagre.

Conclusione

L'installazione di un server Xrdp consente di gestire il server Debian 10 dal computer desktop locale tramite un'interfaccia grafica di facile utilizzo.