Jak skonfigurować przekierowanie X11 w systemie Linux przez SSH

Przekierowanie X11 umożliwia uruchomienie graficznej aplikacji Linux na komputerze zdalnym i wyświetlenie jej okna na pulpicie lokalnym przez SSH. Skonfiguruj je, włączając przekierowanie na zdalnym serwerze SSH, upewniając się, że serwer ma xauth, sprawdzając, czy pulpit lokalny ma wyświetlacz X i łącząc się z ssh -X. Przekierowuje to pojedyncze okna aplikacji; nie tworzy pełnej sesji pulpitu zdalnego.

Czego potrzebujesz przed konfiguracją

Komputer, na którym wpisujesz polecenie SSH, jest klientem . Wymaga klienta OpenSSH i aktywnej sesji graficznego pulpitu z interfejsem X. Wiele pulpitów Linux udostępnia je bezpośrednio lub za pośrednictwem XWayland, gdy sesja korzysta z Wayland. Jeśli echo "$DISPLAY"na lokalnym pulpicie nic nie wyświetla, oznacza to, że nie ma interfejsu SSH, z którego można korzystać w tej powłoce.

Komputer zdalny jest serwerem . Potrzebuje serwera OpenSSH i xauthnarzędzia, aby SSH mógł utworzyć tymczasowy plik cookie autoryzacji używany do wyświetlania przekazywanych danych. W systemach Debian lub Ubuntu zainstaluj je w systemie zdalnym za pomocą sudo apt update. sudo apt install openssh-server xauthW innej dystrybucji użyj menedżera pakietów, aby zainstalować serwer OpenSSH i pakiet, który go udostępnia xauth. Przed zmianą konfiguracji upewnij się, że działa standardowe logowanie SSH.

Terminal Linux pokazujący polecenia ssh i xauth znalezione w systemie lokalnym
Sprawdź, czy lokalny terminal może uruchomić klienta OpenSSH. Serwer zdalny również potrzebuje xauth.

Skonfiguruj przekierowanie X11 przez SSH

1. Włącz przekierowanie w konfiguracji serwera

Na komputerze zdalnym edytuj plik konfiguracji serwera , zwykle /etc/ssh/sshd_configkorzystając z edytora z uprawnieniami administratora:

sudoedit /etc/ssh/sshd_config

Znajdź istniejące aktywne X11Forwardingustawienie i zmień je na:

X11Forwarding yes

Jeśli ustawienie jest niedostępne, dodaj je w sekcji globalnej przed dowolnym Matchblokiem. Niektóre dystrybucje ładują również pliki z /etc/ssh/sshd_config.d/; sprawdź dołączone pliki pod kątem konfliktów ustawień. MatchReguła lub DisableForwarding yesmoże nadal uniemożliwiać przekierowanie dla konkretnego konta. Pozostaw X11UseLocalhostwartość domyślną, chyba że masz konkretny problem ze zgodnością: OpenSSH zazwyczaj wiąże serwer proxy przekierowujący z pętlą zwrotną. Oficjalny podręcznik sshd_config opisuje te opcje po stronie serwera.

Konfiguracja serwera SSH z aktywną dyrektywą X11Forwarding yes
Ustawienia serwera znajdują się w pliku sshd_config, a nie w pliku klienta SSH ssh_config.

2. Sprawdź poprawność konfiguracji i przeładuj SSH

Przed ponownym załadowaniem demona sprawdź plik pod kątem błędów składniowych i potwierdź efektywną wartość przekierowania:

sudo sshd -t
sudo sshd -T | grep -i '^x11forwarding'

Pierwsze polecenie powinno zakończyć się bez błędu; drugie powinno zgłosić błąd x11forwarding yes. Jeśli używasz Matchreguł, przetestuj poprawność konfiguracji dla odpowiedniego użytkownika i połączenia, zgodnie z opisem w podręczniku OpenSSH. Napraw wszelkie błędy przed ponownym załadowaniem, aby nie zakłócić dostępu SSH.

Przeładuj nazwę usługi używaną przez Twoją dystrybucję. Debian i Ubuntu często używają:

sudo systemctl reload ssh

W systemach Fedora i rodzinie RHEL powszechnie stosowane są:

sudo systemctl reload sshd

Jeśli przeładowanie nie jest obsługiwane, użyj restarttej samej usługi. Pozostaw bieżącą sesję otwartą i przetestuj nowe połączenie przed jego zamknięciem. Dokumentacja serwera OpenSSH w Ubuntu zawiera informacje o pliku serwera i fragmentach kodu konfiguracyjnego używanych w Ubuntu.

3. Połącz się z lokalnego pulpitu Linux

Na kliencie zażądaj przekierowania X11 do niezaufanego urządzenia za pomocą -X:

ssh -X user@server.example.com

Zastąp przykładową nazwę użytkownika i hosta swoimi. Jeśli serwer SSH nasłuchuje na niestandardowym porcie, dodaj jego numer portu za pomocą -p:

ssh -X -p 2222 user@server.example.com

Po zalogowaniu się uruchom program graficzny zainstalowany na zdalnym hoście. Aby szybko sprawdzić, xclockczy ta aplikacja testowa jest dostępna, lub uruchom inny zainstalowany program graficzny. Protokół SSH ustawia wartość sesji zdalnej DISPLAYi automatycznie przekazuje połączenie X11; nie kopiuj lokalnej wartości wyświetlania na serwer ani nie ustawiaj jej ręcznie.

Lokalny terminal Linux łączący się ze zdalnym hostem za pomocą ssh -X
Opcja -Xżąda przekierowania X11, gdy rozpoczyna się sesja SSH.
Zdalna aplikacja xclock wyświetlana obok terminala SSH na pulpicie Linux
Przekierowana aplikacja GUI pojawia się jako okno na pulpicie lokalnym, dopóki sesja SSH pozostaje otwarta.

Bezpieczeństwo i rozwiązywanie problemów

Użyj -Xdomyślnie. Ta -Yopcja włącza zaufane przekierowanie, które usuwa ograniczenia bezpieczeństwa X11 i daje aplikacji zdalnej szerszy dostęp do lokalnego ekranu. Używaj jej tylko z serwerem i aplikacją, którym ufasz. OpenSSH ostrzega, że ​​przekierowanie X11 może narazić ekran klienta na ataki; zapoznaj się z podręcznikiem ssh i podręcznikiem ssh_config, aby dowiedzieć się, jak odróżnić przekierowanie zaufane od niezaufanego.

  • „Żądanie przekierowania X11 nie powiodło się”: Sprawdź efektywną wartość serwera X11Forwarding, upewnij się, że xauthjest zainstalowany na zdalnym hoście i poszukaj restrykcyjnych Matchblokad lub DisableForwardingustawień.
  • DISPLAYjest pusty w sesji zdalnej: Rozłącz się i połącz ponownie za pomocą ssh -X. Sprawdź, czy lokalna powłoka ma działający wyświetlacz graficzny i czy połączenie dociera do serwera, który właśnie skonfigurowałeś.
  • W oknie pojawia się komunikat, że nie można otworzyć ekranu: Sprawdź, czy sesja pulpitu lokalnego jest nadal aktywna. Powłoka bez dostępu do ekranu pulpitu nie może wyświetlić przesłanych okien.
  • xclockNie znaleziono: Program testowy jest po prostu nieobecny. Wypróbuj aplikację GUI już zainstalowaną na komputerze zdalnym; ten komunikat sam w sobie nie dowodzi, że przekierowanie SSH jest uszkodzone.

Przekierowywanie X11 jest wygodne w przypadku sporadycznie używanych narzędzi zdalnych, ale aplikacje graficzne, które często odświeżają dane, mogą wydawać się powolne przy połączeniu o dużym opóźnieniu. Do pracy na całym pulpicie lub w przypadku zadań wymagających dużej ilości grafiki, należy skorzystać z rozwiązania pulpitu zdalnego zaprojektowanego specjalnie do tego celu.

Zostaw komentarz

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Dowiedz się, jak odzyskać utracone partycje i pliki za pomocą TestDisk i PhotoRec. Zabezpiecz dysk źródłowy, przeskanuj go bezpiecznie i zapisz odzyskane dane na innym dysku.

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Skanuj kody QR w systemie Linux za pomocą CoBang, używając kamery internetowej lub pliku obrazu. Zobacz opcje instalacji, kroki konfiguracji i poprawki dotyczące dostępu do kamery Flatpak.

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Zmień ustawienia kamery internetowej w systemie Linux za pomocą narzędzia Cameractrls: dostosuj ekspozycję, kolor, redukcję migotania i inne obsługiwane elementy sterujące, a następnie sprawdź zgodne tryby wideo.

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Zainstaluj PhpStorm na Linuksie za pomocą JetBrains Toolbox lub samodzielnego archiwum tar.gz, a także opcji Snap i Arch AUR. Java jest już dołączona.

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Usuń tło zdjęcia w systemie Linux za pomocą programu GIMP: narysuj obiekt, usuń wybrane tło, zachowaj przezroczystość i wyeksportuj plik PNG, który można ponownie wykorzystać.

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Utwórz obraz ISO płyty CD-ROM w systemie Linux za pomocą GNOME Disks lub dd. Zidentyfikuj napęd optyczny, monitoruj kopiowanie, zweryfikuj obraz i dowiedz się, kiedy uszkodzona płyta lub płyta audio wymaga użycia innego narzędzia.

Jak skonfigurować dwa panele w środowisku XFCE 4

Jak skonfigurować dwa panele w środowisku XFCE 4

Utwórz oddzielny panel XFCE 4 dla każdego wyświetlacza, przypisz drugi panel do odpowiedniego wyjścia, określ jego położenie i rozmiar, a następnie dodaj potrzebne elementy uruchamiające i statusu.

Jak zainstalować Cisco Packet Tracer w systemie Linux

Jak zainstalować Cisco Packet Tracer w systemie Linux

Pobierz Cisco Packet Tracer 9.0.1 dla systemu Ubuntu 64-bit, zainstaluj pakiet DEB za pomocą APT, zaakceptuj licencję w terminalu i zaloguj się, aby rozpocząć laboratorium.

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo z oficjalnej strony. Porównaj pakiety dla systemów Windows, macOS i Linux, zainstaluj pliki danych i rozpocznij swój pierwszy lot.

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler mapuje klipy MP3 na klawisze klawiatury i umożliwia zapętlanie dźwięku. Dowiedz się, co robi ten starszy, darmowy program, gdzie kończą się jego stare funkcje i co sprawdzić przed pobraniem.