Trzy lata temu nie myślałem, że będę konfigurować dostęp do pulpitu zdalnego na serwerze Debian. Wtedy SSH wystarczał do wszystkiego. Ale praca zdalna zmieniła to całkowicie.
XRDP daje ci dostęp do interfejsu graficznego twojej maszyny Debian z dowolnego miejsca. Niezależnie od tego, czy rozwiązujesz problemy z domu, czy musisz coś pokazać kolegze wizualnie, to lepsze niż tłumaczenie poleceń terminalowych przez Slack.
Czym jest XRDP i dlaczego używać go do pulpitu zdalnego Debian?

XRDP implementuje Microsoft Remote Desktop Protocol na systemach Linux. W odróżnieniu od VNC, który wymaga osobnego oprogramowania klienckiego, RDP współpracuje z wbudowaną aplikacją Windows Remote Desktop Connection.
Zapotrzebowanie na rozwiązania pulpitu zdalnego wzrosło dramatycznie, a globalny rynek oprogramowania do pulpitu zdalnego ma osiągnąć wartość 11,98 miliarda dolarów do 2032 roku. To pokazuje, jak powszechny stał się dostęp zdalny.
Oto dlaczego wolę XRDP od alternatyw:
- Współpracuje z natywnym klientem RDP z Windows
- Domyślnie szyfruje połączenia
- Obsługuje wielu jednoczesnych użytkowników
- Zużywa mniej przepustowości niż większość implementacji VNC
- Rozsądnie obsługuje udostępnianie schowka i plików
Debian działa na 96,3% największych serwerów www, co daje 16% udziału w rynku serwerów Linux. Taka powszechność oznacza, że znajdziesz sporo dokumentacji, gdy coś pójdzie nie tak.
Wymagania systemowe dla serwera Debian RDP
Zanim zaczniesz, będziesz potrzebować kilku rzeczy:
- Debian 10, 11 lub 12
- Co najmniej 2GB RAM (dowiedziałem się tego, gdy moja instancja z 1GB ciągle się sypała)
- Dostęp root lub sudo
- Połączenie sieciowe do pobierania pakietów
- 2GB free disk space minimum
W środowisku chmury Debian VPS sprawdza się dobrze. Testowałem to na dropletach DigitalOcean i instancjach Linode bez problemów.
Aktualizacja Debian przed instalacją XRDP

Zawsze aktualizuj jako pierwszy. Kiedyś spędziłem dwie godziny na debugowaniu konfliktów pakietów, które prosta aktualizacja by rozwiązała.
sudo apt update && sudo apt upgrade -y
To pobiera najnowsze informacje o pakietach i stosuje poprawki bezpieczeństwa. Flaga -y pomija monity potwierdzające.
Instalacja środowiska graficznego dla XRDP na serwerze Debian

Większość serwerów Debian pracuje bez interfejsu graficznego. Aby XRDP działał prawidłowo, potrzebujesz środowiska graficznego.
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
Używam Xfce, bo jest lekkie i stabilne przez połączenia zdalne. GNOME też działa, ale zużywa więcej zasobów. Pakiet xfce4-goodies dodaje przydatne dodatki, takie jak kalkulator i edytor tekstu.
Krok po kroku: instalacja XRDP na serwerze Debian

Zainstaluj XRDP z repozytoriów Debian:
sudo apt install xrdp -y
Sprawdź, czy uruchomił się prawidłowo:
sudo systemctl status xrdp
Powinieneś zobaczyć aktywny (uruchomiony) na zielono. Jeśli tak się nie stało, coś poszło nie tak podczas instalacji.
Jak skonfigurować ustawienia XRDP i sesje użytkownika na Debian

XRDP wymaga dostrojenia, aby pracować bez problemów. Domyślna konfiguracja powoduje problemy, na które natknąłem się wiele razy.
Konfigurowanie sesji użytkownika dla Debian XRDP
Utwórz plik sesji dla każdego użytkownika, który potrzebuje dostępu do RDP:
echo "xfce4-session" > ~/.xsession
Bez tego pliku zobaczysz pusty pulpit po zalogowaniu. Zajęło mi wieki, zanim to opanowałem po raz pierwszy.
Jak dodać użytkownika XRDP do grupy SSL-Cert
XRDP potrzebuje dostępu do certyfikatów SSL dla bezpiecznych połączeń:
sudo adduser xrdp ssl-cert
Ponowne uruchomienie usługi XRDP po zmianach
Uruchom usługę ponownie, aby pobrać zmiany konfiguracji:
sudo systemctl restart xrdp
Jak otworzyć port 3389 dla RDP na Debian

RDP używa portu 3389. Musisz go otworzyć w zaporze, jednocześnie utrzymując resztę zabezpieczeń.
Zabezpiecz dostęp RDP za pomocą zapory UFW na Debian
UFW (Uncomplicated Firewall) to prostsze rozwiązanie dla podstawowych konfiguracji:
sudo ufw allow 3389/tcp
Dla lepszego bezpieczeństwa ogranicz dostęp do swoego adresu IP:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
Zamień YOUR_IP_ADDRESS wpisz tutaj swój rzeczywisty publiczny adres IP.
Jak używać nftables do reguł zapory XRDP
Jeśli używasz nftables zamiast UFW:
sudo nft add rule inet filter input tcp dport 3389 ct state new, established counter accept
Wolę UFW w większości sytuacji, ale nftables daje ci dokładniejszą kontrolę, jeśli jej potrzebujesz.
Jak edytować XRDP.ini dla bezpieczeństwa i wydajności
Domyślna konfiguracja XRDP działa do podstawowego dostępu, ale możesz chcieć dostosować ustawienia połączenia lub parametry bezpieczeństwa.
Edytuj główny plik konfiguracyjny:
sudo nano /etc/xrdp/xrdp.ini
Kluczowe ustawienia do rozważenia:
- security_layer=tls – Wymusza szyfrowanie TLS
- crypt_level=high – Maksymalny poziom szyfrowania
- port=3389 – Zmień to, aby uruchomić na innym porcie
Konfigurowanie StartWM.sh dla sesji Stable XRDP
Skrypt uruchamiający sesję kontroluje, co się dzieje, gdy użytkownicy się łączą:
sudo nano /etc/xrdp/startwm.sh
Dodaj te linie na końcu, aby zapobiec typowym problemom z sesją:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
Te zmienne środowiskowe mogą zakłócić uruchamianie sesji pulpitu. Napotkałem ten problem, próbując uruchomić aplikacje wymagające komunikacji D-Bus.
Łączenie się z serwerem Debian RDP
Po skonfigurowaniu łączenie się z różnych systemów operacyjnych jest proste.
Jak połączyć się z Debian XRDP z Windows
Windows zawiera klienta RDP domyślnie:
- Wyszukaj "Połączenie pulpitu zdalnego"
- Wpisz adres IP serwera
- Kliknij Połącz
- Wpisz nazwę użytkownika i hasło Debian
- Wybierz "Xorg" po wyświetleniu monitu dotyczącego typu sesji
Połączenie zwykle nawiązuje się w ciągu kilku sekund w sieci lokalnej.
Jak połączyć się z Debian XRDP z Linux (przy użyciu Remmina)
Zainstaluj Remminę, która dobrze obsługuje połączenia RDP:
sudo apt install remmina remmina-plugin-rdp
Remmina zapewnia interfejs graficzny do zarządzania wieloma połączeniami zdalnymi. Możesz zapisywać profile połączeń i dostosowywać ustawienia wyświetlania dla każdego połączenia.
Najlepsze praktyki zabezpieczenia serwera Debian RDP

RDP ma znaczące implikacje bezpieczeństwa. Cyberprzestępcy wykorzystują RDP w 90% ataków obsługiwane przez zespoły reagowania na incydenty.
Jak włączyć szyfrowanie TLS dla XRDP na Debian
Generuj certyfikaty z autosignaturą dla szyfrowanych połączeń:
sudo mkdir -p /etc/xrdp/certs
cd /etc/xrdp/certs
sudo openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
Tworzy certyfikaty ważne przez jeden rok. W środowisku produkcyjnym użyj właściwego certyfikatu CA.
Jak skonfigurować tunel SSH dla RDP na Debian
Aby maksymalnie zabezpieczyć połączenie, przenieś RDP przez tunel SSH:
ssh -L 3389:localhost:3389 user@your-debian-server
Następnie połącz się z localhost:3389 zamiast publicznego adresu IP serwera. To szyfruje cały ruch RDP przez tunel SSH.
Zmień port XRDP z 3389 na port niestandardowy
Zmiana portu domyślnego zmniejsza liczbę automatycznych ataków:
sudo nano /etc/xrdp/xrdp.ini
Zmień port=3389 do czegoś podobnego port=13389, a następnie uruchom ponownie XRDP. Pamiętaj o aktualizacji reguł zapory.
Rozwiązywanie problemów z XRDP na Debian

Kilka problemów regularnie pojawia się przy instalacjach XRDP.
Jak rozwiązać problemy kompatybilności Wayland i XRDP
XRDP nie współpracuje prawidłowo z serwerami wyświetlania Wayland. Wymuś systemowi użycie Xorg:
sudo nano /etc/gdm3/custom.conf
Odkomentuj tę linię:
WaylandEnable=false
Model bezpieczeństwa Wayland koliduje ze sposobem, w jaki XRDP uzyskuje dostęp do systemu wyświetlania. To nie będzie naprawiane w bliskiej przyszłości.
Konfiguracja wielu sesji użytkownika w XRDP
Każdy użytkownik potrzebuje własnej konfiguracji sesji:
echo "xfce4-session" | sudo tee /home/username/.xsession
sudo chown username: username /home/username/.xsession
Zamień username zastąp rzeczywistą nazwą użytkownika. Bez prawidłowego ustawienia właściciela plik sesji nie będzie działać.
Jak zoptymalizować szybkość XRDP na wolnych połączeniach

Kilka zmian poprawia wydajność RDP, szczególnie na wolniejszych połączeniach:
- Użyj Xfce zamiast GNOME lub KDE
- Wyłącz animacje i efekty pulpitu
- Zmniejsz rozdzielczość ekranu dla zdalnych sesji
- Włącz kompresję w kliencie RDP
- Rozważ Ubuntu VPS or Fedora VPS jeśli Debian nie spełnia Twoich wymagań
Największy wzrost wydajności uzyskujesz wybierając lekkie środowisko graficzne. GNOME może zużyć 500MB+ RAM tylko na pulpit, podczas gdy Xfce zużywa około 200MB.
Debian RDP - Przewodnik instalacji [Zainstaluj XRDP dla zdalnego pulpitu]
Wnioski
XRDP przekształca bezgłowy serwer Debian w coś, czym możesz zarządzać graficznie z dowolnego miejsca. Proces konfiguracji ma swoje osobliwości, ale gdy działa, jest całkiem niezawodny.
W przypadku wdrożeń produkcyjnych rozważ rozwiązania zarządzane, takie jak Kup RDP usługi, które obsługują złożoność za Ciebie.
Utrzymuj system zaktualizowany i regularnie monitoruj dzienniki dostępu. Jeśli porównujesz dystrybucje, sprawdź Debian versus Ubuntu aby zobaczyć, które lepiej spełni Twoje wymagania.