Einrichten von RDP zur Verbindung mit Ubuntu/CentOS/Debian

Einrichten von RDP zur Verbindung mit Ubuntu/CentOS/Debian

Einrichten des Remote Desktop Protocol (RDP) auf Ubuntu, CentOS und Debian

Einführung

Mit dem Remote Desktop Protocol (RDP) können Sie von überall mit einer Netzwerkverbindung auf die grafische Benutzeroberfläche eines entfernten Windows-Servers zugreifen. RDP funktioniert nach einem Client-Server-Modell, bei dem der RDP-Client auf dem lokalen Computer installiert ist und der RDP-Server auf dem entfernten Computer läuft.

Diese Anleitung führt Sie durch die Einrichtung von RDP für die Verbindung zu Ubuntu, CentOS oder Debian. Sie lernen, wie Sie einen entfernten Linux-Server mit einer RDP-Verbindung konfigurieren und darauf zugreifen können.

Schritt-für-Schritt-Anleitung zur Einrichtung von RDP und Desktop-Umgebung auf Ubuntu/CentOS/Debian

Dieser Abschnitt behandelt die Installation und Konfiguration einer Desktop-Umgebung auf Ihrem Server. Standardmäßig verfügt ein Ubuntu-Server nur über eine Terminal-Schnittstelle. Um auf eine grafische Benutzeroberfläche zuzugreifen, müssen Sie eine Desktop-Umgebung installieren.

Stellen Sie zunächst eine Verbindung zu Ihrem Server über SSH her und aktualisieren Sie die Paketliste:

1) Verbinden Sie sich über SSH mit dem virtuellen Server und aktualisieren Sie das System:

Ubuntu/Debian

sudo apt-get update

CentOS

sudo yum -y update

2) Installieren Sie die erforderlichen Pakete:

Ubuntu/Debian

sudo apt-get install xrdp

CentOS

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

3) Aktivieren und starten Sie den xRDP-Dienst:

sudo systemctl enable xrdp
sudo systemctl start xrdp

4) Öffnen Sie den RDP-Port für Remote-Verbindungen:

Ubuntu/Debian

sudo ufw allow 3389/tcp

CentOS

Wenn Sie FirewallD verwenden, öffnen Sie den Port 3389/TCP für RDP:

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

5) Starten Sie den xRDP-Server neu, um die Änderungen anzuwenden:

sudo /etc/init.d/xrdp restart

Verbindung zum Desktop herstellen

Öffnen Sie die Windows-Anwendung Remotedesktopverbindung, um eine Verbindung herzustellen. Geben Sie die IP-Adresse des Servers und den Benutzernamen ein und klicken Sie auf Verbinden.

Remotedesktopverbindung-Schnittstelle

Bei der Verbindung kann eine Sicherheitswarnung angezeigt werden, da Sie sich mit einem Linux-basierten System verbinden. Klicken Sie auf "Ja", um fortzufahren.

Wählen Sie im Anmeldefenster Xorg als Sitzung aus, geben Sie das Passwort des Benutzers ein und klicken Sie auf OK.

Xorg-Sitzungsauswahl

Hinweis: Wenn Sie eine Meldung erhalten, dass die Remotedesktopverbindung nicht hergestellt werden kann, überprüfen Sie, ob die Remotedesktop-Option in den Systemeinstellungen aktiviert ist.

Nach der Anmeldung erhalten Sie Zugriff auf die Desktop-Umgebung von Ubuntu/CentOS/Debian.

Überprüfen der RDP-Verbindung

Um die Verbindung mit dem Windows-Client für Remotedesktopverbindung zu testen, befolgen Sie diese Schritte:

  1. Starten Sie die Anwendung Remotedesktopverbindung, indem Sie sie im Startmenü suchen oder mstsc im Dialogfeld "Ausführen" (Windows + R) eingeben und Enter drücken.
  2. Geben Sie im Fenster der Remotedesktopverbindung die öffentliche IP-Adresse des Remote-Servers im Feld Computer ein.
  3. Geben Sie den Benutzernamen, der mit Ihrem Remote-Server verknüpft ist, im Feld Benutzername ein.
  4. Um diese Einstellungen für die zukünftige Verwendung zu speichern, klicken Sie auf Speichern unter und geben Sie einen Dateinamen für die Verbindung an.
  5. Klicken Sie auf Verbinden, um die Verbindung zu initiieren.

Installation einer Desktop-Umgebung

Warum ist eine Desktop-Umgebung notwendig?

RDP benötigt eine grafische Desktop-Umgebung, um die Benutzeroberfläche anzuzeigen. Serverversionen von Linux, wie Ubuntu Server oder CentOS Minimal, werden in der Regel ohne grafische Benutzeroberfläche ausgeliefert und bieten nur ein Terminal. Ohne eine Desktop-Umgebung wie Xfce, GNOME oder KDE kann xRDP keinen Desktop anzeigen, was zu Fehlern wie einem schwarzen Bildschirm führen kann.

Installation einer Desktop-Umgebung

Wir empfehlen die Verwendung einer ressourcenschonenden Desktop-Umgebung wie Xfce, die für Server effizient ist. Verwenden Sie die folgenden Befehle, um sie zu installieren:

Distribution Xfce-Installationsbefehl
Ubuntu/Debian
sudo apt-get install xfce4 xfce4-goodies
CentOS/Rocky Linux/AlmaLinux
sudo dnf install -y epel-release && sudo dnf groupinstall -y "Xfce"

Nach der Installation von Xfce stellen Sie sicher, dass ein Display-Manager wie lightdm oder gdm installiert und konfiguriert ist. Der Display-Manager übernimmt grafische Anmeldungen. Er wird normalerweise automatisch mit Xfce installiert, aber Sie können seine Anwesenheit überprüfen mit:

sudo systemctl status lightdm
# oder
sudo systemctl status gdm

Wenn kein Display-Manager installiert ist, installieren Sie einen:

  • Für Ubuntu/Debian:
    sudo apt-get install lightdm
  • Für CentOS/Rocky Linux/AlmaLinux:
    sudo dnf install gdm
    (oder
    sudo dnf install lightdm
    für Xfce)

Starten Sie den Server oder den xRDP-Dienst nach der Installation neu:

sudo systemctl restart xrdp

Sitzung auswählen

Wenn Sie sich über einen RDP-Client (z. B. Microsoft Remote Desktop) verbinden, wählen Sie im Anmeldemenü die Sitzung "Xorg" aus. Die Auswahl einer falschen Sitzung kann zu Anzeigeproblemen führen.

Verbesserung der Sicherheit

Warum ist Sicherheit wichtig?

RDP, insbesondere wenn Port 3389 öffentlich zugänglich ist, ist ein häufiges Ziel für Angreifer. Ohne angemessene Sicherheitsmaßnahmen, wie Schutz vor Brute-Force-Angriffen oder Verschlüsselung, sind RDP-Verbindungen anfällig für unbefugten Zugriff, Datenlecks oder Man-in-the-Middle-Angriffe. Hier sind einige Sicherheitsempfehlungen:

Sicherheitsempfehlungen

  1. Starke Passwörter Verwenden Sie komplexe Passwörter für alle Konten, die für den RDP-Zugriff verwendet werden.
  2. Zugang nach IP einschränken Konfigurieren Sie die Firewall so, dass RDP-Verbindungen nur von bestimmten IP-Adressen zugelassen werden, um das Risiko von Brute-Force-Angriffen zu reduzieren. Beispielbefehle:
    Distribution Befehle zur Zugangsbeschränkung
    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

    Ersetzen Sie <IP_ADDRESS> durch die IP-Adresse Ihres Clients.

  3. Regelmäßige Updates Aktualisieren Sie regelmäßig das System und das xRDP-Paket, um bekannte Sicherheitslücken zu schließen:
    • Für Ubuntu/Debian:
      sudo apt-get update && sudo apt-get upgrade
    • Für CentOS/Rocky Linux/AlmaLinux:
      sudo dnf update
  4. VPN oder Bastion Host verwenden Für zusätzliche Sicherheit konfigurieren Sie den RDP-Zugriff über ein VPN (z. B. Tailscale oder OpenVPN), um Port 3389 vor dem öffentlichen Internet zu verbergen. Alternativ verwenden Sie einen Bastion Host für sichere Verbindungen.
  5. RDP deaktivieren, wenn nicht benötigt Wenn RDP nicht kontinuierlich benötigt wird, deaktivieren Sie den xRDP-Dienst:
    sudo systemctl stop xrdp
    Aktivieren Sie ihn bei Bedarf erneut:
    sudo systemctl start xrdp
  6. Verbindungen verschlüsseln Stellen Sie sicher, dass xRDP für die Verwendung von Verschlüsselung konfiguriert ist. Standardmäßig unterstützt xRDP eine 128-Bit-Verschlüsselung. Überprüfen Sie die Einstellungen in /etc/xrdp/xrdp.ini und stellen Sie sicher, dass security_layer auf rdp oder tls gesetzt ist.

Fehlerbehebung häufiger Probleme

Häufige Probleme

Selbst bei korrekter Einrichtung können Probleme mit xRDP auftreten. Hier sind die häufigsten Probleme und ihre Lösungen:

  1. Verbindungsfehler Wenn die Meldung "Remotedesktop kann keine Verbindung zum Remote-Computer herstellen" angezeigt wird, überprüfen Sie Folgendes:
    • Stellen Sie sicher, dass der xRDP-Dienst läuft:
      sudo systemctl status xrdp
      . Wenn inaktiv, starten Sie ihn:
      sudo systemctl start xrdp
      .
    • Überprüfen Sie, ob Port 3389 in der Firewall geöffnet ist:
      • Für Ubuntu/Debian:
        sudo ufw status
      • Für CentOS/Rocky Linux/AlmaLinux:
        sudo firewall-cmd --list-ports
        Wenn geschlossen, öffnen Sie ihn:
        • Für Ubuntu/Debian:
          sudo ufw allow 3389/tcp
        • Für CentOS/Rocky Linux/AlmaLinux:
          sudo firewall-cmd --add-port=3389/tcp --permanent && sudo firewall-cmd --reload
  2. Schwarzer oder leerer Bildschirm Ein schwarzer Bildschirm nach der Anmeldung kann durch Folgendes verursacht werden:
    • Fehlende Desktop-Umgebung. Stellen Sie sicher, dass Xfce oder eine andere Umgebung installiert ist.
    • Falsche Sitzungsauswahl. Wählen Sie "Xorg" im Anmeldemenü des RDP-Clients.
    • Konfigurationsprobleme mit xRDP. Bearbeiten Sie /etc/xrdp/xrdp.ini und setzen Sie max_bpp=24:
      sudo nano /etc/xrdp/xrdp.ini
      Finden Sie den Abschnitt [xrdp1] und fügen Sie hinzu oder ändern Sie:
      max_bpp=24
      Starten Sie xRDP neu:
      sudo systemctl restart xrdp
  3. Authentifizierungsprobleme Wenn die Anmeldung fehlschlägt, überprüfen Sie:
    • Korrekten Benutzernamen und Passwort.
    • Berechtigungen für grafische Anmeldungen des Benutzers. Stellen Sie sicher, dass das Konto nicht nur auf Terminalzugriff beschränkt ist.
    • Einstellungen in /etc/xrdp/xrdp.ini. Stellen Sie sicher, dass address auf 0.0.0.0 gesetzt ist:
      address=0.0.0.0
  4. Distributionsspezifische Probleme Einige Versionen, wie Ubuntu 18.04.2, haben bekannte xRDP-Probleme, wie grüne oder schwarze Bildschirme. In solchen Fällen:
    • Stellen Sie sicher, dass die neueste xRDP-Version installiert ist:
      • Für Ubuntu/Debian:
        sudo apt-get install xrdp
      • Für CentOS/Rocky Linux/AlmaLinux:
        sudo dnf install xrdp
    • Versuchen Sie eine alternative Desktop-Umgebung, wie GNOME, wenn Xfce nicht funktioniert.
  5. Niedrige Leistung oder Verzögerungen Wenn die RDP-Verbindung langsam ist, überprüfen Sie:
    • Netzwerkverbindungsgeschwindigkeit.
    • Grafikeinstellungen von xRDP. Eine Reduzierung der Farbtiefe (z. B. auf 16-Bit) in /etc/xrdp/xrdp.ini kann die Leistung verbessern, reduziert jedoch die Bildqualität.

Konfiguration von Audio in xRDP

Das Weiterleiten von Audio über xRDP kann herausfordernd sein und hängt von der Distribution ab. Nachfolgend finden Sie empfohlene Methoden für Ubuntu Server 22.04, 24.04 und Debian 11, 12.

Ubuntu Server 22.04, 24.04 und Debian 11, 12 (empfohlen für RDP mit Audio)

Die einfachste und zuverlässigste Methode ist die Verwendung von Ubuntu Server 22.04, 24.04 oder Debian 11, 12 und die Installation von xRDP mit Audio-Unterstützung mithilfe des xrdp-installer-Skripts.

Schritt-für-Schritt-Anweisungen:
  1. System aktualisieren:
    sudo apt update -y && sudo apt upgrade -y
    sudo reboot
  2. Desktop-Umgebung installieren:
    • Für 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
    • Für Debian 11, 12:
      sudo apt install gnome                 # GNOME
      sudo apt install xfce4                 # Xfce
      sudo apt install plasma-desktop        # KDE
      sudo reboot
  3. Skript herunterladen und entpacken:
    wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.5.3.zip
    unzip xrdp-installer-1.5.3.zip
  4. Skript ausführbar machen:
    chmod +x xrdp-installer-1.5.3.sh
  5. Skript als Nicht-Root-Benutzer ausführen:
    ./xrdp-installer-1.5.3.sh -s
  6. Server neu starten:
    sudo reboot

Nach dem Neustart verbinden Sie sich über einen RDP-Client (z. B. Microsoft Remote Desktop). Audio sollte automatisch funktionieren, wenn es im Client aktiviert ist.

Alternative: Manuelle Einrichtung für Ubuntu/Debian

Wenn Sie das xrdp-installer-Skript nicht verwenden möchten, können Sie Audio manuell konfigurieren:

  1. PulseAudio und das Weiterleitungsmodul installieren:
    sudo apt-get install pulseaudio pulseaudio-module-xrdp
  2. PulseAudio für den Benutzer aktivieren:
    systemctl --user enable pulseaudio
    systemctl --user start pulseaudio
  3. xRDP neu starten:
    sudo systemctl restart xrdp

⚠️ Hinweis: In einigen Ubuntu-Versionen ist das Paket pulseaudio-module-xrdp möglicherweise nicht in den Standard-Repositorys verfügbar. Die Verwendung des Skripts wird empfohlen.

RHEL-basierte Systeme: Rocky Linux, AlmaLinux, CentOS 8+, Fedora

Die Audio-Unterstützung auf RHEL-basierten Systemen erfordert die manuelle Kompilierung des pulseaudio-module-xrdp-Moduls, was komplex und nicht immer stabil ist.

Grundlegende Schritte (Übersicht):
  1. Entwicklungswerkzeuge installieren:
    sudo dnf groupinstall "Development Tools"
    sudo dnf install rpmdevtools dnf-utils pulseaudio-libs-devel
  2. PowerTools aktivieren (für AlmaLinux/Rocky):
    sudo dnf config-manager --set-enabled powertools
  3. PulseAudio-Quellen herunterladen und erstellen.
  4. Das pulseaudio-module-xrdp-Repository klonen und erstellen:
    git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
    cd pulseaudio-module-xrdp
    ./bootstrap
    ./configure
    make
    sudo make install
  5. System neu starten:
    sudo reboot

⚠️ Dieser Prozess wird für unerfahrene Benutzer nicht empfohlen. Erwägen Sie die Verwendung von RDP ohne Audio oder die Verbindung über SSH/VNC.

Fehlerbehebung bei Audio-Problemen
  1. Überprüfen, ob Audio im RDP-Client aktiviert ist (z. B. im Microsoft Remote Desktop, überprüfen Sie den Reiter "Lokale Ressourcen").
  2. PulseAudio-Status überprüfen:
    systemctl --user status pulseaudio
  3. xrdp-sink- und xrdp-source-Geräte überprüfen:
    • Installieren und öffnen Sie pavucontrol (falls verfügbar).
    • Stellen Sie sicher, dass der Ton nicht stummgeschaltet ist und die Ausgabe korrekt konfiguriert ist.
  4. Einstellungen in /etc/pulse/daemon.conf überprüfen:
    default-sample-rate = 44100
    Nach Änderungen:
    systemctl --user restart pulseaudio
  5. Benutzerberechtigungen überprüfen: Stellen Sie sicher, dass der Benutzer in der audio-Gruppe ist und Zugriff auf Audiogeräte hat.