Konfigurowanie zdalnego dostępu do pulpitu na serwerze Debiana nie jest czymś, o czym myślałem trzy lata temu. Wtedy SSH wystarczało do wszystkiego. Jednak praca zdalna całkowicie to zmieniła.
XRDP zapewnia dostęp GUI do twojego Debiana z dowolnego miejsca. Niezależnie od tego, czy rozwiązujesz problemy w domu, czy chcesz pokazać koledze coś wizualnego, lepiej jest wyjaśniać polecenia terminala za pośrednictwem Slacka.
Co to jest XRDP i dlaczego warto go używać w przypadku pulpitu zdalnego Debiana?

XRDP implementuje protokół Remote Desktop Protocol firmy Microsoft w systemach Linux. W przeciwieństwie do VNC, które wymaga własnego oprogramowania klienckiego, RDP współpracuje z wbudowaną funkcją Podłączanie pulpitu zdalnego systemu Windows.
Popyt na rozwiązania do zdalnego pulpitu eksplodował wraz z pojawieniem się Przewiduje się, że globalny rynek oprogramowania do zdalnego pulpitu osiągnie do 2032 r. 11,98 miliarda dolarów. Odzwierciedla to, jak powszechny stał się dostęp zdalny.
Oto dlaczego wolę XRDP od alternatyw:
- Współpracuje z natywnym klientem RDP systemu Windows
- Domyślnie szyfruje połączenia
- Obsługuje wielu jednoczesnych użytkowników
- Wykorzystuje mniejszą przepustowość niż większość implementacji VNC
- Całkiem dobrze radzi sobie ze schowkiem i udostępnianiem plików
Debian działa dalej 96,3% najlepszych serwerów internetowych, posiadając 16% rynku serwerów Linux. To powszechne użycie oznacza mnóstwo dokumentacji, gdy sprawy pójdą nie tak.
Wymagania systemowe dla serwera Debian RDP
Zanim zaczniesz, będziesz potrzebować kilku rzeczy:
- Debian 10, 11 lub 12
- Co najmniej 2 GB pamięci RAM (nauczyłem się tego, gdy moja instancja 1 GB ciągle się zawieszała)
- Dostęp do roota lub sudo
- Połączenie sieciowe do pobierania
- 2GB free disk space minimum
W przypadku konfiguracji w chmurze a VPS Debiana działa dobrze. Przetestowałem to na kropelkach DigitalOcean i instancjach Linode bez problemów.
Jak zaktualizować Debiana przed instalacją XRDP

Zawsze aktualizuj jako pierwszy. Kiedyś spędziłem dwie godziny na debugowaniu konfliktów pakietów, którym zapobiegłaby prosta aktualizacja.
sudo apt update && sudo apt upgrade -y
Spowoduje to pobranie najnowszych informacji o pakiecie i zastosowanie poprawek zabezpieczeń. The -y flaga pomija monity o potwierdzenie.
Jak zainstalować środowisko graficzne dla XRDP na Debianie

Większość serwerów Debiana działa bezobsługowo. Aby XRDP działało poprawnie, potrzebujesz środowiska graficznego.
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
Używam Xfce, ponieważ jest lekki i stabilny w przypadku połączeń zdalnych. GNOME też działa, ale zużywa więcej zasobów. The gadżety xfce4 pakiet dodaje przydatne dodatki, takie jak kalkulator i edytor tekstu.
Instalacja XRDP krok po kroku na serwerze Debian

Zainstaluj XRDP z repozytoriów Debiana:
sudo apt install xrdp -y
Sprawdź, czy zaczęło się poprawnie:
sudo systemctl status xrdp
Powinieneś zobaczyć aktywny (biegający) na zielono. Jeśli nie, coś poszło nie tak z instalacją.
Jak skonfigurować ustawienia XRDP i sesje użytkowników w Debianie

XRDP wymaga pewnych poprawek, aby działać płynnie. Domyślna konfiguracja powoduje problemy, z którymi spotkałem się wielokrotnie.
Konfigurowanie sesji użytkownika dla Debiana XRDP
Utwórz plik sesji dla każdego użytkownika potrzebującego dostępu RDP:
echo "xfce4-session" > ~/.xsession
Bez tego pliku po zalogowaniu pojawi się pusty pulpit. Wieczność zajęło mi rozszyfrowanie tego za pierwszym razem.
Jak dodać użytkownika XRDP do grupy certyfikatów SSL
XRDP potrzebuje dostępu do certyfikatów SSL dla bezpiecznych połączeń:
sudo adduser xrdp ssl-cert
Ponowne uruchamianie usługi XRDP po zmianach
Uruchom ponownie usługę, aby pobrać zmiany w konfiguracji:
sudo systemctl restart xrdp
Jak otworzyć port 3389 dla RDP w Debianie

RDP używa portu 3389. Musisz otworzyć ten port w swojej zaporze, jednocześnie blokując wszystko inne.
Bezpieczny dostęp RDP za pomocą zapory UFW w Debianie
UFW (nieskomplikowana zapora sieciowa) jest prostsza w przypadku podstawowych konfiguracji:
sudo ufw allow 3389/tcp
Dla większego bezpieczeństwa ogranicz dostęp do swojego adresu IP:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
Zastępować TWÓJ_ADRES_IP z Twoim rzeczywistym publicznym adresem 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
W większości sytuacji wolę UFW, ale nftables zapewnia bardziej szczegółową kontrolę, jeśli jej potrzebujesz.
Jak edytować plik XRDP.ini pod kątem bezpieczeństwa i wydajności
Domyślna konfiguracja XRDP działa w przypadku dostępu podstawowego, 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:
- warstwa_bezpieczeństwa=tls – Wymusza szyfrowanie TLS
- poziom_krypty=wysoki – Maksymalny poziom szyfrowania
- port=3389 – Zmień to, aby działać na innym porcie
Konfigurowanie StartWM.sh dla stabilnych sesji XRDP
Skrypt uruchamiania sesji kontroluje, co się stanie, gdy użytkownicy się połą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łócać uruchamianie sesji pulpitu. Napotkałem ten problem podczas próby uruchomienia aplikacji wymagających komunikacji D-Bus.
Łączenie z serwerem RDP Debiana
Po skonfigurowaniu połączenie z różnymi systemami operacyjnymi jest proste.
Jak połączyć się z Debianem XRDP z systemu Windows
System Windows domyślnie zawiera klienta RDP:
- Wyszukaj „Podłączanie pulpitu zdalnego”
- Wpisz adres IP swojego serwera
- Kliknij Połącz
- Wprowadź swoją nazwę użytkownika i hasło Debiana
- Po wyświetleniu monitu o podanie typu sesji wybierz „Xorg”.
Połączenie w sieci lokalnej zwykle zostaje nawiązane w ciągu kilku sekund.
Jak połączyć się z Debianem XRDP z Linuksa (przy użyciu Remmina)
Zainstaluj Remminę, która dobrze obsługuje połączenia RDP:
sudo apt install remmina remmina-plugin-rdp
Remmina zapewnia graficzny interfejs użytkownika do zarządzania wieloma zdalnymi połączeniami. Możesz zapisywać profile połączeń i dostosowywać ustawienia wyświetlania dla każdego połączenia.
Najlepsze praktyki zabezpieczania serwera RDP Debiana

Protokół RDP ma istotne implikacje dotyczące bezpieczeństwa. Cyberprzestępcy wykorzystują protokół RDP w 90% ataków obsługiwane przez zespoły reagowania na incydenty.
Jak włączyć szyfrowanie TLS dla XRDP w Debianie
Generuj certyfikaty z podpisem własnym dla połączeń szyfrowanych:
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
W ten sposób powstają certyfikaty ważne przez rok. Używaj odpowiedniego certyfikatu CA w środowiskach produkcyjnych.
Jak skonfigurować tunel SSH dla RDP w Debianie
Aby zapewnić maksymalne bezpieczeństwo, tuneluj RDP przez SSH:
ssh -L 3389:localhost:3389 user@your-debian-server
Następnie połącz się z host lokalny: 3389 zamiast publicznego adresu IP serwera. Szyfruje to cały ruch RDP przez tunel SSH.
Zmień port XRDP z 3389 na port niestandardowy
Zmień domyślny port, aby ograniczyć próby automatycznych ataków:
sudo nano /etc/xrdp/xrdp.ini
Zmiana port=3389 do czegoś takiego port=13389, a następnie uruchom ponownie XRDP. Pamiętaj, aby odpowiednio zaktualizować reguły zapory sieciowej.
Rozwiązywanie problemów z XRDP w Debianie

W przypadku instalacji XRDP regularnie pojawia się kilka problemów.
Jak rozwiązać problemy ze zgodnością Wayland i XRDP
XRDP nie działa poprawnie z serwerami wyświetlania Wayland. Zmuś system do użycia Xorg:
sudo nano /etc/gdm3/custom.conf
Odkomentuj tę linię:
WaylandEnable=false
Model bezpieczeństwa Waylanda koliduje ze sposobem, w jaki XRDP uzyskuje dostęp do systemu wyświetlania. Nie zostanie to naprawione w najbliższym czasie.
Konfigurowanie 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
Zastępować nazwa użytkownika z rzeczywistą nazwą użytkownika. Bez odpowiedniego prawa własności plik sesji nie będzie działał.
Jak zoptymalizować prędkość XRDP przy wolnych połączeniach

Kilka ulepszeń poprawia wydajność protokołu RDP, szczególnie w przypadku wolniejszych połączeń:
- Użyj Xfce zamiast GNOME lub KDE
- Wyłącz animacje i efekty pulpitu
- Zmniejsz rozdzielczość ekranu dla sesji zdalnych
- Włącz kompresję w kliencie RDP
- Rozważać Ubuntu VPS or Fedora VPS jeśli Debian nie spełnia Twoich potrzeb
Największy wzrost wydajności wynika z wyboru lekkiego środowiska graficznego. GNOME może używać ponad 500 MB pamięci RAM tylko na pulpicie, podczas gdy Xfce wykorzystuje około 200 MB.
Film konfiguracyjny Debiana RDP [Zainstaluj XRDP na serwerze zdalnego pulpitu]
Wniosek
XRDP przekształca bezgłowy serwer Debiana w coś, czym możesz zarządzać graficznie z dowolnego miejsca. Proces konfiguracji ma swoje dziwactwa, ale gdy już zadziała, jest całkiem niezawodny.
W przypadku wdrożeń produkcyjnych należy rozważyć rozwiązania zarządzane, takie jak Kup RDP usługi, które poradzą sobie ze złożonością za Ciebie.
Aktualizuj swój system i regularnie monitoruj logi dostępu. Jeśli porównujesz dystrybucje, sprawdź Debian kontra Ubuntu aby zobaczyć, który lepiej odpowiada Twoim wymaganiom.