Jak połączyć się z Ubuntu z Windows za pomocą RDP (Kompletny przewodnik 2024)
Remote Desktop Protocol (RDP) jest jedną z najbardziej niezawodnych i szeroko stosowanych technologii umożliwiających dostęp i sterowanie zdalnym komputerem przez sieć. Podczas gdy maszyny z systemem Windows natywnie obsługują RDP, Ubuntu Linux nie jest dostarczane z wbudowanym serwerem RDP — jednak to ograniczenie jest łatwe do pokonania. Instalując xrdp, implementację RDP o otwartym kodzie źródłowym dla systemu Linux, możesz przekształcić dowolną maszynę Ubuntu w w pełni funkcjonalny serwer zdalnego pulpitu, z którym klienci Windows mogą się łączyć za pomocą wbudowanego narzędzia Podłączanie pulpitu zdalnego.
Niezależnie od tego, czy zarządzasz środowiskiem VPS Hosting, administrujesz zdalną stacją roboczą, czy po prostu potrzebujesz okazjonalnego dostępu graficznego do maszyny Linux z pulpitu Windows, ten przewodnik przeprowadzi Cię przez każdy krok: instalację, konfigurację zapory sieciowej, łączenie z systemu Windows, rozwiązywanie typowych problemów i wzmacnianie zabezpieczeń.
—
Czym jest xrdp i dlaczego warto go używać?
xrdp to darmowa implementacja protokołu Remote Desktop Protocol firmy Microsoft o otwartym kodzie źródłowym dla systemów operacyjnych typu Unix. Działa jako serwer RDP na systemie Linux, akceptując przychodzące połączenia od dowolnego standardowego klienta RDP — w tym natywnego narzędzia Podłączanie pulpitu zdalnego (mstsc.exe) wbudowanego w każdą wersję systemu Windows.
Kluczowe zalety xrdp to:
- Brak wymagań dotyczących klienta innych firm w systemie Windows — używaj wbudowanego narzędzia
mstsc - Pełny dostęp do graficznego pulpitu — zdalnie korzystaj z kompletnego interfejsu graficznego Linux
- Kompatybilność między platformami — działa z klientami RDP dla systemów Windows, macOS i urządzeń mobilnych
- Aktywny rozwój i wsparcie społeczności
- Lekki i łatwy w konfiguracji
Sprawia to, że xrdp jest podstawowym rozwiązaniem dla administratorów systemów, którzy muszą łączyć środowiska Windows i Linux bez złożonych stosów oprogramowania.
—
Wymagania wstępne
Przed rozpoczęciem upewnij się, że masz następujące elementy:
- Maszyna Ubuntu (zalecane 20.04, 22.04 lub 24.04 LTS) z uprawnieniami sudo
- Adres IP Twojej maszyny Ubuntu
- Komputer z systemem Windows z dostępnym Podłączaniem pulpitu zdalnego (dostępnym we wszystkich wersjach systemu Windows)
- Stabilne połączenie sieciowe między obydwoma maszynami
- Podstawowa znajomość terminala Linux
> Wskazówka: Jeśli uruchamiasz Ubuntu na serwerze w chmurze lub Serwerze Dedykowanym, upewnij się, że zapora sieciowa Twojego dostawcy hostingu (nie tylko UFW) również zezwala na ruch na porcie 3389.
—
Krok 1: Instalacja serwera RDP xrdp na Ubuntu
Ubuntu domyślnie nie zawiera serwera RDP, więc pierwszym krokiem jest instalacja xrdp z oficjalnych repozytoriów Ubuntu.
1.1 — Otwórz terminal
Naciśnij Ctrl + Alt + T, aby otworzyć okno terminala na maszynie Ubuntu, lub połącz się przez SSH, jeśli pracujesz na serwerze bez interfejsu graficznego.
1.2 — Zaktualizuj listy pakietów
Zawsze aktualizuj indeks pakietów przed instalacją nowego oprogramowania, aby mieć pewność, że otrzymasz najnowszą dostępną wersję:
sudo apt update && sudo apt upgrade -y1.3 — Zainstaluj xrdp
sudo apt install xrdp -yProces instalacji automatycznie pobierze wszystkie wymagane zależności.
1.4 — Włącz i uruchom usługę xrdp
Po zainstalowaniu włącz xrdp, aby uruchamiał się automatycznie podczas rozruchu, a następnie uruchom go natychmiast:
sudo systemctl enable xrdp
sudo systemctl start xrdp1.5 — Sprawdź, czy xrdp działa
Potwierdź, że usługa jest aktywna i działa bez błędów:
sudo systemctl status xrdpPowinieneś zobaczyć dane wyjściowe podobne do:
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled)
Active: active (running) since ...Jeśli usługa jest aktywna i włączona, Twoja maszyna Ubuntu jest teraz gotowa do przyjmowania przychodzących połączeń RDP.
—
Krok 2: Konfiguracja zapory UFW w celu zezwolenia na RDP
Domyślnie Uncomplicated Firewall (UFW) Ubuntu może blokować przychodzące połączenia na porcie 3389, który jest standardowym portem RDP. Musisz jawnie zezwolić na ten ruch.
2.1 — Zezwól na port 3389 przez UFW
sudo ufw allow 3389/tcp2.2 — Włącz UFW (jeśli nie jest jeszcze aktywny)
Jeśli UFW nie jest jeszcze włączony w Twoim systemie, aktywuj go za pomocą:
sudo ufw enable> Ostrzeżenie: Jeśli jesteś połączony przez SSH, upewnij się, że najpierw zezwolisz na ruch SSH (sudo ufw allow OpenSSH) przed włączeniem UFW, aby uniknąć zablokowania dostępu do siebie.
2.3 — Sprawdź reguły zapory sieciowej
sudo ufw statusDane wyjściowe powinny zawierać port 3389/tcp jako ALLOW:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
3389/tcp ALLOW AnywhereTwoja maszyna Ubuntu jest teraz skonfigurowana do akceptowania połączeń RDP przez zaporę sieciową.
—
Krok 3: Znajdź adres IP swojej maszyny Ubuntu
Przed nawiązaniem połączenia z systemu Windows musisz znać adres IP swojej maszyny Ubuntu.
Uruchom następujące polecenie w terminalu:
hostname -ILub aby uzyskać bardziej szczegółowe informacje o sieci:
ip addr showZanotuj adres IPv4 (np. 192.168.1.105 dla sieci lokalnej lub publiczny adres IP w przypadku łączenia przez internet). Jeśli łączysz się z VPS w chmurze, publiczny adres IP możesz znaleźć w panelu sterowania hostingu.
—
Krok 4: Połącz się z Ubuntu z systemu Windows przy użyciu Pulpitu zdalnego
Po uruchomieniu xrdp i skonfigurowaniu zapory sieciowej możesz teraz nawiązać połączenie RDP z maszyny Windows.
4.1 — Otwórz Podłączanie pulpitu zdalnego
Na komputerze z systemem Windows naciśnij Windows + R, aby otworzyć okno dialogowe Uruchom, wpisz mstsc i naciśnij Enter.
Alternatywnie wyszukaj „Podłączanie pulpitu zdalnego” w menu Start.
4.2 — Wprowadź adres IP maszyny Ubuntu
W oknie Podłączanie pulpitu zdalnego wpisz adres IP swojej maszyny Ubuntu w polu Komputer:
192.168.1.105Jeśli zmieniłeś port RDP (omówione w kroku 6), dołącz numer portu:
192.168.1.105:33904.3 — Zainicjuj połączenie
Kliknij Połącz. Może pojawić się ostrzeżenie dotyczące certyfikatu — jest to normalne w przypadku certyfikatów z podpisem własnym. Kliknij Tak, aby kontynuować.
4.4 — Zaloguj się do Ubuntu
Pojawi się ekran logowania xrdp. Wprowadź swoją nazwę użytkownika Ubuntu i hasło, a następnie kliknij OK.
Po chwili pulpit Ubuntu załaduje się w oknie Pulpitu zdalnego. Możesz teraz z nim pracować dokładnie tak, jakbyś siedział przed maszyną.
—
Krok 5: Rozwiązywanie typowych problemów z RDP
Nawet przy prawidłowej konfiguracji możesz napotkać kilka typowych problemów. Oto jak je rozwiązać.
Problem 1: Czarny ekran po zalogowaniu
Czarny ekran bezpośrednio po zalogowaniu jest najczęściej zgłaszanym problemem z xrdp. Zazwyczaj występuje, ponieważ domyślne środowisko graficzne GNOME nie współpracuje bezproblemowo z sesjami xrdp.
Rozwiązanie: Zainstaluj i skonfiguruj środowisko graficzne Xfce, które jest lekkie i w pełni kompatybilne z xrdp.
Zainstaluj Xfce:
sudo apt install xfce4 xfce4-goodies -ySkonfiguruj xrdp do używania Xfce:
echo xfce4-session > ~/.xsessionUruchom ponownie xrdp:
sudo systemctl restart xrdpPołącz się ponownie z systemu Windows — czarny ekran powinien zniknąć i zobaczysz pulpit Xfce.
> Alternatywa dla Ubuntu 22.04+: Możesz również skonfigurować xrdp do używania domyślnej sesji GNOME, edytując /etc/xrdp/startwm.sh, ale Xfce pozostaje najbardziej niezawodnym wyborem dla sesji zdalnego pulpitu.
—
Problem 2: Zapora sieciowa blokuje połączenie
Jeśli połączenie przekracza limit czasu lub jest odrzucane, sprawdź reguły zapory sieciowej:
sudo ufw status verboseJeśli port 3389 nie jest wymieniony, dodaj regułę ponownie:
sudo ufw allow 3389/tcp
sudo ufw reloadSprawdź również, czy Twój dostawca chmury lub router ma oddzielną zaporę sieciową lub grupę zabezpieczeń, która może blokować port 3389 — jest to częste przeoczenie podczas pracy z serwerami hostowanymi.
—
Problem 3: Wolny lub opóźniony pulpit zdalny
Jeśli połączenie jest powolne, spróbuj wykonać następujące czynności:
- Zmniejsz jakość wyświetlania: W oknie Podłączanie pulpitu zdalnego kliknij Pokaż opcje → Ekran i zmniejsz głębię kolorów oraz rozdzielczość.
- Zmniejsz rozdzielczość ekranu: Ustaw sesję zdalną na 1280×720 zamiast pełnego HD.
- Sprawdź przepustowość sieci: Wykonaj test prędkości, aby wykluczyć wąskie gardła sieciowe.
- Używaj połączenia przewodowego zamiast Wi-Fi tam, gdzie to możliwe.
—
Problem 4: Błędy uwierzytelniania
Jeśli logowanie nie powiedzie się pomimo prawidłowych danych uwierzytelniających:
- Upewnij się, że konto użytkownika istnieje na maszynie Ubuntu i ma ustawione hasło
- Sprawdź logi xrdp, aby uzyskać szczegóły:
sudo journalctl -u xrdp -n 50 - Sprawdź, czy certyfikat SSL xrdp jest poprawnie zainstalowany:
ls /etc/xrdp/cert.pem
—
Problem 5: Usługa xrdp nie uruchamia się
Jeśli xrdp nie uruchamia się, sprawdź błędy konfiguracji:
sudo xrdp --nodaemonUruchamia to xrdp na pierwszym planie i wyświetla błędy bezpośrednio w terminalu, co ułatwia diagnozowanie problemów.
—
Krok 6: Wzmocnienie zabezpieczeń połączeń RDP
Udostępnianie RDP na domyślnym porcie 3389 w publicznym internecie stanowi poważne zagrożenie bezpieczeństwa. Zautomatyzowane boty stale skanują w poszukiwaniu otwartych portów RDP i próbują ataków brute-force. Postępuj zgodnie z tymi najlepszymi praktykami, aby chronić swój system.
6.1 — Zmień domyślny port RDP
Zmiana portu z 3389 na niestandardowy znacznie zmniejsza narażenie na zautomatyzowane ataki.
Otwórz plik konfiguracyjny xrdp:
sudo nano /etc/xrdp/xrdp.iniZnajdź linię:
port=3389Zmień ją na niestandardowy port (np. 13389 lub dowolny nieużywany port powyżej 1024):
port=13389Zapisz i wyjdź (Ctrl + X, następnie Y, następnie Enter), a następnie uruchom ponownie xrdp:
sudo systemctl restart xrdpZaktualizuj zaporę sieciową, aby zezwolić na nowy port i usuń starą regułę:
sudo ufw allow 13389/tcp
sudo ufw delete allow 3389/tcp—
6.2 — Ogranicz dostęp według adresu IP
Jeśli zawsze łączysz się ze znanego adresu IP, ogranicz dostęp RDP tylko do tego adresu IP:
sudo ufw allow from 203.0.113.50 to any port 3389 proto tcpZastąp 203.0.113.50 swoim rzeczywistym adresem IP. Znacznie zmniejsza to powierzchnię ataku.
—
6.3 — Używaj VPN do szyfrowanego tunelowania
Najbezpieczniejszym podejściem jest całkowite nieudostępnianie RDP w publicznym internecie. Zamiast tego najpierw połącz się z VPN, a następnie używaj RDP przez szyfrowany tunel VPN. Dzięki temu port 3389 jest całkowicie ukryty przed internetem, jednocześnie umożliwiając autoryzowanym użytkownikom nawiązanie połączenia.
Popularne rozwiązania VPN kompatybilne z Ubuntu to WireGuard i OpenVPN.
—
6.4 — Używaj silnych haseł i włącz uwierzytelnianie dwuskładnikowe
- Ustaw silne, unikalne hasło dla każdego konta użytkownika, które może logować się przez RDP
- Rozważ wdrożenie uwierzytelniania dwuskładnikowego (2FA) przy użyciu narzędzi takich jak Google Authenticator z PAM (Pluggable Authentication Modules)
- Wyłącz nieużywane konta użytkowników, aby zminimalizować powierzchnię ataku
—
6.5 — Aktualizuj xrdp i Ubuntu
Regularnie aktualizuj system, aby załatać znane luki w zabezpieczeniach:
sudo apt update && sudo apt upgrade -y—
6.6 — Monitoruj próby logowania
Używaj Fail2Ban, aby automatycznie blokować adresy IP, które wielokrotnie nie przechodzą uwierzytelniania:
sudo apt install fail2ban -yFail2Ban można skonfigurować do monitorowania logów xrdp i blokowania atakujących adresów IP po określonej liczbie nieudanych prób.
—
Alternatywa: Tunelowanie SSH dla bezpiecznego RDP
Aby uzyskać maksymalne bezpieczeństwo bez pełnej konfiguracji VPN, możesz tunelować połączenie RDP przez SSH. Szyfruje to ruch RDP i pozwala uniknąć publicznego udostępniania portu 3389.
W systemie Windows użyj PuTTY lub wbudowanego klienta OpenSSH, aby utworzyć lokalne przekierowanie portów:
ssh -L 3389:localhost:3389 username@your-ubuntu-ipNastępnie połącz Podłączanie pulpitu zdalnego z localhost:3389 — ruch będzie bezpiecznie tunelowany przez SSH.
—
Wybór odpowiedniego środowiska hostingowego dla pulpitu zdalnego
Wydajność i niezawodność sesji RDP w dużej mierze zależy od podstawowej infrastruktury. Oto kilka zaleceń opartych na przypadku użycia:
| Przypadek użycia | Zalecane rozwiązanie |
|---|---|
| Osobisty dostęp zdalny / testowanie | Hosting współdzielony z SSH lub VPS podstawowy |
| Stacja robocza dla programistów / mały zespół | VPS Hosting z 2–4 vCPU i 4–8 GB RAM |
| Wydajny pulpit zdalny | Serwery dedykowane dla pełnej izolacji zasobów |
| Obciążenia AI/ML z interfejsem graficznym | Hosting GPU dla sesji zdalnych z akceleracją GPU |
Dla zespołów preferujących zarządzany interfejs panelu sterowania, VPS z cPanel zapewnia intuicyjną warstwę zarządzania przez przeglądarkę wraz z dostępem do pulpitu zdalnego.
—
Krótki przewodnik: Kompletna lista kontrolna konfiguracji
Użyj tej listy kontrolnej, aby potwierdzić, że każdy krok został wykonany poprawnie:
- [ ]
sudo apt update && sudo apt upgrade -y - [ ]
sudo apt install xrdp -y - [ ]
sudo systemctl enable xrdp && sudo systemctl start xrdp - [ ]
sudo ufw allow 3389/tcp(lub niestandardowy port) - [ ] Zanotowano adres IP maszyny Ubuntu (
hostname -I) - [ ] Zainstalowano Xfce w przypadku wystąpienia czarnego ekranu (
sudo apt install xfce4 -y) - [ ] Skonfigurowano
~/.xsessiondla Xfce (echo xfce4-session > ~/.xsession) - [ ] Połączono z systemu Windows przy użyciu
mstsc - [ ] Zmieniono domyślny port RDP dla bezpieczeństwa
- [ ] Włączono Fail2Ban lub ograniczenie IP
—
Podsumowanie
Konfiguracja połączenia RDP z systemu Windows do Ubuntu przy użyciu xrdp to praktyczne, wydajne i opłacalne rozwiązanie dla zdalnego dostępu do pulpitu Linux. Instalując xrdp, wybierając kompatybilne środowisko graficzne, takie jak Xfce, konfigurując zaporę sieciową i stosując środki wzmacniające zabezpieczenia, możesz ustanowić stabilną i bezpieczną sesję zdalnego pulpitu w mniej niż 15 minut.
Niezależnie od tego, czy zarządzasz lokalną stacją roboczą Ubuntu, VPS w chmurze, czy Serwerem dedykowanym, xrdp eliminuje potrzebę stosowania narzędzi zdalnego dostępu innych firm i wykorzystuje znany klient Pulpitu zdalnego systemu Windows, który większość administratorów już zna. W połączeniu z najlepszymi praktykami, takimi jak tunelowanie VPN, niestandardowe porty, ograniczenia IP i Fail2Ban, Twoje środowisko pulpitu zdalnego może być zarówno wysoce dostępne, jak i solidnie zabezpieczone.
