Impostazione di RDP per la connessione a Ubuntu/CentOS/Debian

Impostazione di RDP per la connessione a Ubuntu/CentOS/Debian

Configurazione del Protocollo di Desktop Remoto (RDP) su Ubuntu, CentOS e Debian

Introduzione

Utilizzando il Protocollo di Desktop Remoto (RDP), puoi accedere all'interfaccia grafica di un server Windows remoto da qualsiasi luogo con una connessione di rete. RDP opera su un modello client-server, in cui il client RDP è installato sulla macchina locale e il server RDP è eseguito sulla macchina remota.

Questa guida ti accompagnerà nella configurazione di RDP per connetterti a Ubuntu, CentOS o Debian. Imparerai come configurare e accedere a un server Linux remoto utilizzando una connessione RDP.

Guida passo-passo per configurare RDP e l'ambiente desktop su Ubuntu/CentOS/Debian

Questa sezione copre l'installazione e la configurazione di un ambiente desktop sul tuo server. Di default, un server Ubuntu standard è dotato solo di un'interfaccia a terminale. Per accedere a un'interfaccia grafica, è necessario installare un ambiente desktop.

Prima di tutto, connettiti al tuo server tramite SSH e aggiorna l'elenco dei pacchetti:

1) Connettiti al server virtuale tramite SSH e aggiorna il sistema:

Ubuntu/Debian

sudo apt-get update

CentOS

sudo yum -y update

2) Installa i pacchetti richiesti:

Ubuntu/Debian

sudo apt-get install xrdp

CentOS

sudo yum install -y epel-release
sudo yum install -y xrdp

3) Abilita e avvia il servizio xRDP:

sudo systemctl enable xrdp
sudo systemctl start xrdp

4) Apri la porta RDP per le connessioni remote:

Ubuntu/Debian

sudo ufw allow 3389/tcp

CentOS

Se utilizzi FirewallD, apri la porta 3389/TCP per RDP:

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

5) Riavvia il server xRDP per applicare le modifiche:

sudo /etc/init.d/xrdp restart

Connessione al desktop

Per connetterti, apri l'applicazione Connessione Desktop Remoto di Windows. Inserisci l'indirizzo IP del server e il nome utente, quindi fai clic su Connetti.

Interfaccia di Connessione Desktop Remoto

Durante la connessione, potresti visualizzare un avviso di sicurezza a causa della connessione a un sistema basato su Linux. Fai clic su "Sì" per proseguire.

Nella finestra di accesso, seleziona Xorg come sessione, inserisci la password dell'utente e fai clic su OK.

Selezione della Sessione Xorg

Nota: Se ricevi un messaggio che indica che il Desktop Remoto non può connettersi, verifica che l'opzione Desktop Remoto sia abilitata nelle impostazioni del sistema.

Dopo aver effettuato l'accesso, avrai accesso all'ambiente desktop di Ubuntu/CentOS/Debian.

Verifica della connessione RDP

Per testare la connessione utilizzando il client di Connessione Desktop Remoto di Windows, segui questi passaggi:

  1. Avvia l'applicazione Connessione Desktop Remoto cercandola nel menu Start o digitando mstsc nella finestra Esegui (Windows + R) e premendo Invio.
  2. Nella finestra di Connessione Desktop Remoto, inserisci l'indirizzo IP pubblico del server remoto nel campo Computer.
  3. Inserisci il nome utente associato al tuo server remoto nel campo Nome utente.
  4. Per salvare queste impostazioni per un uso futuro, fai clic su Salva con nome e specifica un nome file per la connessione.
  5. Fai clic su Connetti per avviare la connessione.

Installazione di un ambiente desktop

Perché è necessario un ambiente desktop?

RDP richiede un ambiente desktop grafico per visualizzare l'interfaccia. Le versioni server di Linux, come Ubuntu Server o CentOS Minimal, di solito non includono un'interfaccia grafica, offrendo solo un terminale. Senza un ambiente desktop come Xfce, GNOME o KDE, xRDP non riuscirà a visualizzare un desktop, potenzialmente causando errori come uno schermo nero.

Installazione di un ambiente desktop

Raccomandiamo di utilizzare un ambiente desktop leggero come Xfce, che è efficiente in termini di risorse per i server. Usa i seguenti comandi per installarlo:

Distribuzione Comando di installazione di Xfce
Ubuntu/Debian
sudo apt-get install xfce4 xfce4-goodies
CentOS/Rocky Linux/AlmaLinux
sudo dnf install -y epel-release && sudo dnf groupinstall -y "Xfce"

Dopo aver installato Xfce, assicurati che un gestore di display come lightdm o gdm sia installato e configurato. Il gestore di display gestisce gli accessi grafici. Di solito viene installato automaticamente con Xfce, ma puoi verificarne la presenza con:

sudo systemctl status lightdm
# o
sudo systemctl status gdm

Se un gestore di display non è installato, installane uno:

  • Per Ubuntu/Debian:
    sudo apt-get install lightdm
  • Per CentOS/Rocky Linux/AlmaLinux:
    sudo dnf install gdm
    (o
    sudo dnf install lightdm
    per Xfce)

Riavvia il server o il servizio xRDP dopo l'installazione:

sudo systemctl restart xrdp

Selezione di una sessione

Quando ti connetti tramite un client RDP (ad esempio, Microsoft Remote Desktop), seleziona la sessione "Xorg" nel menu di accesso. Scegliere una sessione errata può causare problemi di visualizzazione.

Miglioramento della sicurezza

Perché la sicurezza è importante?

RDP, specialmente quando la porta 3389 è accessibile pubblicamente, è un bersaglio comune per gli attaccanti. Senza adeguate misure di sicurezza, come la protezione contro attacchi di forza bruta o la crittografia, le connessioni RDP sono vulnerabili ad accessi non autorizzati, perdite di dati o attacchi man-in-the-middle. Ecco alcune raccomandazioni per la sicurezza:

Raccomandazioni per la sicurezza

  1. Password robuste Utilizza password complesse per tutti gli account utilizzati per l'accesso RDP.
  2. Limitare l'accesso per IP Configura il firewall per consentire connessioni RDP solo da indirizzi IP specifici per ridurre il rischio di attacchi di forza bruta. Esempi di comandi:
    Distribuzione Comandi per limitare l'accesso
    Ubuntu/Debian
    sudo ufw allow from <IP_ADDRESS> to any port 3389
    CentOS/Rocky Linux/AlmaLinux
    sudo firewall-cmd --add-port=3389/tcp --permanent
    sudo firewall-cmd --add-source=<IP_ADDRESS> --permanent
    sudo firewall-cmd --reload

    Sostituisci <IP_ADDRESS> con l'indirizzo IP del tuo client.

  3. Aggiornamenti regolari Aggiorna regolarmente il sistema e il pacchetto xRDP per correggere vulnerabilità note:
    • Per Ubuntu/Debian:
      sudo apt-get update && sudo apt-get upgrade
    • Per CentOS/Rocky Linux/AlmaLinux:
      sudo dnf update
  4. Utilizza una VPN o un host bastione Per maggiore sicurezza, configura l'accesso RDP tramite una VPN (ad esempio, Tailscale o OpenVPN) per nascondere la porta 3389 dall'internet pubblico. In alternativa, utilizza un host bastione per connessioni sicure.
  5. Disabilita RDP quando non in uso Se non hai bisogno di RDP continuamente, disabilita il servizio xRDP:
    sudo systemctl stop xrdp
    Riabilitalo quando necessario:
    sudo systemctl start xrdp
  6. Crittografa le connessioni Assicurati che xRDP sia configurato per utilizzare la crittografia. Di default, xRDP supporta la crittografia a 128 bit. Verifica le impostazioni in /etc/xrdp/xrdp.ini, assicurandoti che security_layer sia impostato su rdp o tls.

Risoluzione dei problemi comuni

Problemi comuni

Anche con una configurazione corretta, possono sorgere problemi con xRDP. Ecco i problemi più comuni e le loro soluzioni:

  1. Errori di connessione Se visualizzi il messaggio "Il Desktop Remoto non può connettersi al computer remoto", verifica quanto segue:
    • Assicurati che il servizio xRDP sia in esecuzione:
      sudo systemctl status xrdp
      . Se inattivo, avvialo:
      sudo systemctl start xrdp
      .
    • Verifica che la porta 3389 sia aperta nel firewall:
      • Per Ubuntu/Debian:
        sudo ufw status
      • Per CentOS/Rocky Linux/AlmaLinux:
        sudo firewall-cmd --list-ports
        Se chiusa, aprila:
        • Per Ubuntu/Debian:
          sudo ufw allow 3389/tcp
        • Per CentOS/Rocky Linux/AlmaLinux:
          sudo firewall-cmd --add-port=3389/tcp --permanent && sudo firewall-cmd --reload
  2. Schermo nero o vuoto Uno schermo nero dopo l'accesso può essere causato da:
    • Mancanza di un ambiente desktop. Assicurati che Xfce o un altro ambiente sia installato.
    • Selezione errata della sessione. Scegli "Xorg" nel menu di accesso del client RDP.
    • Problemi di configurazione di xRDP. Modifica /etc/xrdp/xrdp.ini e imposta max_bpp=24:
      sudo nano /etc/xrdp/xrdp.ini
      Trova la sezione [xrdp1] e aggiungi o modifica:
      max_bpp=24
      Riavvia xRDP:
      sudo systemctl restart xrdp
  3. Problemi di autenticazione Se l'accesso fallisce, verifica:
    • Nome utente e password corretti.
    • Permessi di accesso grafico per l'utente. Assicurati che l'account non sia limitato solo all'accesso via terminale.
    • Impostazioni in /etc/xrdp/xrdp.ini. Assicurati che address sia impostato su 0.0.0.0:
      address=0.0.0.0
  4. Problemi specifici della distribuzione Alcune versioni, come Ubuntu 18.04.2, presentano problemi noti con xRDP, come schermi verdi o neri. In questi casi:
    • Assicurati che l'ultima versione di xRDP sia installata:
      • Per Ubuntu/Debian:
        sudo apt-get install xrdp
      • Per CentOS/Rocky Linux/AlmaLinux:
        sudo dnf install xrdp
    • Prova un ambiente desktop alternativo, come GNOME, se Xfce non funziona.
  5. Prestazioni basse o lag Se la connessione RDP è lenta, verifica:
    • Velocità della connessione di rete.
    • Impostazioni grafiche di xRDP. Ridurre la profondità del colore (ad esempio, a 16 bit) in /etc/xrdp/xrdp.ini può migliorare le prestazioni, ma riduce la qualità dell'immagine.

Configurazione dell'audio in xRDP

Reindirizzare l'audio tramite xRDP può essere complesso e dipende dalla distribuzione. Di seguito sono riportati i metodi consigliati per Ubuntu Server 22.04, 24.04 e Debian 11, 12.

Ubuntu Server 22.04, 24.04 e Debian 11, 12 (consigliato per RDP con audio)

Il metodo più semplice e affidabile è utilizzare Ubuntu Server 22.04, 24.04 o Debian 11, 12 e installare xRDP con supporto audio utilizzando lo script xrdp-installer.

Istruzioni passo-passo:
  1. Aggiorna il sistema:
    sudo apt update -y && sudo apt upgrade -y
    sudo reboot
  2. Installa un ambiente desktop:
    • Per Ubuntu Server 22.04, 24.04:
      sudo apt install ubuntu-desktop        # GNOME
      sudo apt install xubuntu-desktop       # Xfce
      sudo apt install kubuntu-desktop       # KDE
      sudo reboot
    • Per Debian 11, 12:
      sudo apt install gnome                 # GNOME
      sudo apt install xfce4                 # Xfce
      sudo apt install plasma-desktop        # KDE
      sudo reboot
  3. Scarica ed estrai lo script:
    wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.5.3.zip
    unzip xrdp-installer-1.5.3.zip
  4. Rendi lo script eseguibile:
    chmod +x xrdp-installer-1.5.3.sh
  5. Esegui lo script come utente non root:
    ./xrdp-installer-1.5.3.sh -s
  6. Riavvia il server:
    sudo reboot

Dopo il riavvio, connettiti tramite un client RDP (ad esempio, Microsoft Remote Desktop). L'audio dovrebbe funzionare automaticamente se abilitato nel client.

Alternativa: Configurazione manuale per Ubuntu/Debian

Se preferisci non utilizzare lo script xrdp-installer, puoi configurare l'audio manualmente:

  1. Installa PulseAudio e il modulo di reindirizzamento:
    sudo apt-get install pulseaudio pulseaudio-module-xrdp
  2. Abilita PulseAudio per l'utente:
    systemctl --user enable pulseaudio
    systemctl --user start pulseaudio
  3. Riavvia xRDP:
    sudo systemctl restart xrdp

⚠️ Nota: In alcune versioni di Ubuntu, il pacchetto pulseaudio-module-xrdp potrebbe non essere disponibile nei repository standard. Si consiglia di utilizzare lo script.

Sistemi basati su RHEL: Rocky Linux, AlmaLinux, CentOS 8+, Fedora

Il supporto audio su sistemi basati su RHEL richiede la compilazione manuale del modulo pulseaudio-module-xrdp, che è complessa e non sempre stabile.

Passaggi di base (panoramica):
  1. Installa gli strumenti di sviluppo:
    sudo dnf groupinstall "Development Tools"
    sudo dnf install rpmdevtools dnf-utils pulseaudio-libs-devel
  2. Abilita PowerTools (per AlmaLinux/Rocky):
    sudo dnf config-manager --set-enabled powertools
  3. Scarica e compila le sorgenti di PulseAudio.
  4. Clona e compila il repository pulseaudio-module-xrdp:
    git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
    cd pulseaudio-module-xrdp
    ./bootstrap
    ./configure
    make
    sudo make install
  5. Riavvia il sistema:
    sudo reboot

⚠️ Questo processo non è consigliato per utenti inesperti. Considera l'uso di RDP senza audio o la connessione tramite SSH/VNC.

Risoluzione dei problemi audio
  1. Verifica che l'audio sia abilitato nel client RDP (ad esempio, in Microsoft Remote Desktop, controlla la scheda "Risorse locali").
  2. Verifica lo stato di PulseAudio:
    systemctl --user status pulseaudio
  3. Verifica i dispositivi xrdp-sink e xrdp-source:
    • Installa e apri pavucontrol (se disponibile).
    • Assicurati che l'audio non sia disattivato e che l'uscita sia configurata correttamente.
  4. Controlla le impostazioni in /etc/pulse/daemon.conf:
    default-sample-rate = 44100
    Dopo le modifiche:
    systemctl --user restart pulseaudio
  5. Verifica i permessi dell'utente: Assicurati che l'utente sia nel gruppo audio e abbia accesso ai dispositivi audio.