Portál AbcLinuxu, 4. května 2025 00:26
Rozbehal som X11-forwarding cez ssh. Autentifikáca X klientov pri forwardovaní pomocou ssh je úplne automatická a omnoho menej náročná na používateľa. Ak chcete Spúšťať aplikácie na jednom počítači a nechať ich zobrazovať na dryuhom, rád sa s Vami podelím 0 prvú verziu Mini-HOWTO-ssh-remote-X-Apps.
Upozorňujem Vás, že je to len prvá verzia a musím si ju dať skritizovať a opraviť ju.
Narozdiel od xhost a xauth authentifikácie, preposielanie sieťových paketov protokolu X11 je veľmi jednoduché spojazdniť a pritom veľmi bezpečné. autentifikácia pomocou xhost je nebezpečná, pretože X servér príjme a autentifikuje každé spojenie z IP adresy, alebo domény, ktoré sú povolené v textovom konfiguračnom súbore.
Rozbehnúť autentifikáciu pomocou xauth je veľmi zložité a často si s tým človek neporadí. Navyše prenos paketov medzi autentifikovaným klientom a servérom nieje nijak kódovaný.
Preposielanie paketov pomocou ssh je jednoduché, pretože si žiada jeden konfiguračný riadok na klientskom počítači a jeden na servéri. Autentifikácia je bezpečná a jednoduchá, pretože stačí prejsť autentifikáciou ssh démona na servéri. Bezpečnosť zaručuje SSL kódovanie SSH protokolu.
Servér je počítač, na ktorom bude bežať X aplikácia. Do konfiguráčného súboru ssh démona, umiestneného pravdepodobne v ceste /etc/ssh/sshd_config, pridajte riadok:
X11Forwarding yes
Týmto umožníte ssh démonovi otvoriť port, cez ktorý bude posúvať pakety a nastaviť pri pripojení klienta premennú prostredia DISPLAY.
Klient je servér, na ktorom beží X servér a s ktorého na pripojíme na ssh servér. Do konfiguráčného súboru ssh klienta, umiestneného pravdepodobne v ceste /etc/ssh/ssh_config, pridajte riadok:
ForwardX11 yes
Táto voľba umožní ssh klientovi poslať príjmať packety protkolu X11 a posúvať ich X servéru.
Spustite X servér na počítači, kde chcete aplikáciu zobrazovať. Ak neviete, čo to X servér je, spustite svoje grafické prostredie, pri jeho spúšťaní sa X servér spustí.
V terminále, alebo virtuálnej konzole sa uistite, že v ňom máte správne nastavenú premennú prostredia DISPLAY:
uzivatel@x.server$ echo $DISPLAY
:0
Pripojte sa na počítač, kde chcete spustiť X aplikáciu. Po úspešnom pripojení sa uistite, že premenná prostredia DISPLAY je nastvená na správne:
uzivatel@x.server $ ssh uzivatel@ssh.server
Password:
uzivatel@ssh.server $ echo $DISPLAY
localhost:10.0
Ak je všetko nastavené správne, môžete spustiť X aplikáciu a kochať sa neefektivitou protokolu X11, ktorý je za niekoľko sekúnd pochybovania mišou a kreslenia na servéri, preniesť po sieti jeden Megabyte dát:
uzivatel@ssh.server $ xaplikácia
Rozbehanie vzdialených X aplikácií je vďaka SSH protokolu jednoduché, ale nie dokonalé. Ak sa Vám nepodarí preposielanie paketov protokolu X11 rozbehať, skúste porozmýšlať, či v konfigurácii niektorej so súčastí Vášho operačného systému nie je žiadne pravidlo, ktoré SSH preposielanie znemožňoje.
Tiskni
Sdílej:
X11Forwarding
se nedoporučuje. Nechce-li se ti psát k ssh volbu -X, můžeš si v konfiguráku nastavit forwarding pro konkrétní důvěryhodné počítače pomocí direktivy Host
.
2. Novější ssh mají dvě různé úrovně povolení X11 forwardingu: normální (-X) a trusted (-Y). Pokud nemáš opravdu štestí na aplikace, které chceš vzdáleně spouštět, tak potřebuješ -Y. Můžeš začít -X, ale když začneš dostávat
X Error of failed request: BadCosiKdesitak to změnit na -Y. 3. Nemáš-li rychlé spojení (např. jakákoli LAN je dnes asi dost rychlá), použitelnost takhle spouštěných aplikací se výrazně zvýší kompresí: -C.
Několikrát jsem to zkoušel (Athlon XP 1800+, Athlon 700, 100 Mb/s přímo kabelem) a proti klasickému X11 to bylo zoufale trhané.Buď som tu niečo nepochopil, alebo si protirečíte ? Vychádzal som z toho, že ste uviedli prenosovú rýchlosť a teda sa sťažujete na trhanosť kvôli sieti. Vzdialené grafické aplikácie púšťam na linkách rôznych rýchlostí a rôznych kvalít (najpomalšia z nich má oneskorenie cca 3 sekundy). Aj tu vidím veľké výhody VNC pripojenia oproti "klasickému" (v kontexte tejto debaty) pripojeniu. Už sa vám stalo, že vám padla linka uprostred vykresľovania modálneho okna?
ssh -C
normálně používat při pár set kilobitech/s (záleží ovšem i na round-tripu). V podstatě cokoli, co i v ČR nabízejí jako broadband, už stačí. S VNC bych chtěl vidět, jak se pracuje přes kabelovku nebo ADSL...
ssh
se zapnutou kompresí. (U NX se ssh
využívá také, ale komprese je efektivnější a doplněná o vyrovnávací paměti na obou stranách.) Mimochodem mě překvapilo, že komprese není u ssh
zapnutá automaticky.
Jinak, pokud to snad nebylo jasné, měl jsem na mysli nároky na procesor dané šifrováním a autentizací přenášených dat. Ty nemají nic společného s X11, vzniknou i při tunelování čehokoli jiného (a naopak, X11 lze vzdáleně používat i bez SSH).
-v
. SSH server ti vynada, ze nemohl prenest X cookie a promennou DISPLAY
nenastavi:
debug1: Requesting X11 forwarding with authentication spoofing. debug1: Remote: No xauth program; cannot forward with spoofing.
DISPLAY
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.