Configurare Linux come server di Desktop remoto

In questo breve articolo, ti spiego come configurare Linux come server RDP per accettare connessioni a desktop remoto via client RDP (Remote Desktop Protocol) anche da sistemi Windows/ChromeOS/Android e Mac.
Nella sostanza potrai accedere al tuo desktop Linux via rete LAN o WLAN o Internet per usare il computer con Linux come se tu fossi davanti al Calcolatore.
Ed ecco l’articolo:

Configurare Linux come Server di Desktop Remoto

Il sistema Linux come il sistema operativo Windows, prevede la possibilità di attivare i servizi di Desktop Remoto, funzione molto utile quando è necessario

connettersi al proprio computer linux da un’altra postazione magari anche da un altro sistema operativo.

Lo standard TCP/IIP prevede un protocollo per il Destkotp Remoto chiamato Remote Desktop Protocol (RDP) realizzato da Microsoft e portato anche su

sistema Linux. Tale protocollo prevede che il server ascolto sulla porta TCP 3389 (la porta è comunque personalizzabile), e i client accedono al loro Desktop

Remoto e operano come se fisicamente fossero davanti a quel calcolatore.  L’aspetto più interessante è la possibilità di utilizzare anche le periferiche

connesse al server comprese le periferiche di riproduzione multimediale oltre che la possibilità di accedere dal sistema client alle unità di memorizzazione

remote come se fossero collegate alla macchina cliente.

Nella rete LAN e comunque sul Server se presente un firewall occorre permettere il traffico TCP sulla porta 3389. Per permettere l’accesso da rete Internet, ad

esempio da una macchina esterna alla nostra rete occorre utilizzare alcune procedure aggiuntive:

  • abilitare Port Forwarding sul Router/Firewall perimetrale ovvero quello connesso ad Internet
  • abilitare un servizio tipo dynadns e simili per permettere l’accesso a Router/Firewall che hanno IP pubblico dinamico. Questo capita molto spesso con accessi a Internet residenziali o domestici.
  • Abilitare la crittografia che il protocollo prevede per lavorare in sicurezza.

Una seconda soluzione più sicura potrebbe prevedere una macchina bastione agganciata ad Internet e da questa poi si accede all macchina reale via RDP.

Per realizzare tutto ciò stiamo dicendo che si accede ad esempio su un Raspberry PI 3/4 che è configurato come server di Desktop Remoto dove però sono

presenti solo l’applicazione Server e non i nostri dati personali, e il client RDP verso la macchina Server Reale.

In questo modo un potenziale attaccante può avere più difficoltà per raggiungere i nostri dati, poichè deve prima compromettere la macchina bastione e poi

eventualmente accedere alla macchina reale.

Cosa occorre per configurare il Server RDP

Sul nostro sistema Linux ad esempio Ubuntu possiamo eseguire la seguente sequenza per configurare un applicativo client-server chiamo XRDP.

E’ quindi necessario eseguire i seguenti comandi da terminale:

sudo apt- get install xrdp

Nel nostro utente dobbiamo scegliere quale desktop enviroment DE scegliere. Ubuntu installa Unity che a mio avviso è un pò pesante se per esempio si pensa di accedere da Internet.

E’ possibile installare ad esempio il DE Mate o Xfce4. Nell’ipotesi di installare Mate, occorre eseguire il comando:

sudo apt-get install mate-desktop

Saranno installati una serie di pacchetti una volta che l’installazione è completata, scegliamo gli utenti che dovranno accedere via RDP al Server.

La configurazione di RDP con XRDP è per utente quindi significa che per ogni utente occorre creare una configurazione specifica.

Per fare questo immaginiamo di essere nell’utente specifico, lanciamo da linea di comando i seguenti comandi che creano due file di configurazione, molto

semplici:

echo mate-session > ~/.xsession

echo mate-session > ~/.Xclient

chmod +x ~/.xsession

chmodo +x ~/.Xclient

 Io consiglio Raspberry PI 4 per attivare il client REDP Remuina su Macchina Raspberry PI 4. IO uso a casa un Raspberry con Servizio Desktop Remoto da Internet e poi da questo dispositivo bastione mi collego alla mia macchina Server RDP con le mie utente.

Questi comandi creano due file di configurazione nella Home Directory dell’utente prescelto come accessibile via RDP e rendono eseguibili i due file di configurazione.

Il Client 

Il client in Windows è Desktop Remoto di Windows, basta andare in Accessori -> Connessione Desktop Remoto

Utilizzando il client di Windows occorre digitare l’indirizzo IP del server o il suo nome. POi occorrono le credenziali di accesso al sistema server Linux.

Ecco alcuni screenshot di quello che avviene in Windows attiva la connesione a desktop remoto (la terza schermata) inserendo indirizzo IP e/o nome DNS del PC da raggiungere, poi configurare il l’accesso RDP sulla macchina Linux che risponde a quell’indirizzo IP e/o nome host e scegliere nel campo Sessione Xorg, e inserire il nome utente e password accreditati sulla macchina Linux (schermata numero 2) che funge da RDP Server. Se tutto è stato fatto visualizzerai il DE di Linux (scherma numero 1).

Immagine che rappresenta il client rdp in Windows
immagine che rappresenta l'accesso al x terminal di linux
immagine che mostra il desktop di linux remoto gnome al quale l'utente si è collegato mediante il client windows.