====== Cosa è, come installare e come usare XRDP ====== ~~NOTOC~~ *** ## Introduzione *** ''xrdp'' è un'implementazione gratuita e open source del [server Microsoft RDP](https://it.wikipedia.org/wiki/Remote_Desktop_Protocol) (Remote Desktop Protocol) che consente ai sistemi operativi diversi da Microsoft Windows (come i sistemi operativi in stile Linux e BSD quindi anche Mac) di fornire un'esperienza desktop remota compatibile con RDP completamente funzionale. Funziona collegando la grafica dal sistema [X Window](https://it.wikipedia.org/wiki/X_Window_System) al client e inoltrando i controlli dal client a X Window Server. Secondo gli sviluppatori, il protocollo funziona con [rdesktop](https://en.wikipedia.org/wiki/Rdesktop), [FreeRDP](https://github.com/FreeRDP/FreeRDP/wiki) e il [Remote Desktop Client di Microsoft](https://tinyurl.com/5ykdvauz). 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 12 Linux. Se stai cercando una soluzione open source per l'accesso al desktop remoto, allora dovresti controllare anche [VNC](https://it.wikipedia.org/wiki/Virtual_Network_Computing). ## 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 al posto 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 `ssl-cert`: ``` 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 settaggi 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 3389 al 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 rdp 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 12, e più genericamente un Linux con una interfaccia grafica via server Xorg (per il nuovo server grafico Wayland, non ho ancora verificato se funzioni o meno), dal computer desktop locale tramite un'interfaccia grafica di facile utilizzo. La maggior parte delle informazioni qui riportate sono state estratte da [questo](https://noviello.it/come-installare-xrdp-server-desktop-remoto-su-debian-10/?expand_article=1) documento. *** [[configurazioni|Clicca qui]] per tornare alla pagina Configurazioni.\\ [[start|Clicca qui]] per tornare alla pagina principale di questo Wiki. *** --- //[[jcurto@joe.vr.it|Joseph Curto]] 03/08/2023 09:58// - Ultima modifica: 03/08/2023 10:05