2 nejjednodušší způsoby bezpečného vzdáleného X-Window sezení přes VNC, X a SSH na Linuxu (Ubuntu)
Můj táta je člověk nejen geniálně chytrý, ale i velmi zkoumavý. Na svém počítači používal již několik let různé Windows systémy a on dokázal dlouhé hodiny měnit ikonky, instalovat si různé prográmky z netu, prostě vrtal do Woken co mohl.
A když mu těď vypadly tabulky skla z Woken i z mé poslední reinstalace, tak jsem zkusil co udělá Linux.
Vybral jsou si Ubuntu 6.06, které jsem si poslední dobou opravdu oblíbil a jako desktop manager jsou vybral Gnome, které svou simplifací ovládání a voleb působí na moje hektické pracovní tempo jako chladivé pohlazení.
O výsledku chci napsat pár záznamů, protože jsem v pohodě rozběhal docela dost hardware, který jsem myslel, že bude problém:
- Fototiskárna HP Photojet 330
-
Klasická laserovka HP LaserJet 5L
- Skener HP Scanjet 3500c
- Digitální fotoaparát Pentax (nevím jaký to je přesně model, ale má 6 Megapixelů)
Budu to psát postupně do samostaných záznamů pro lepší indexaci.
Tím, co jsem řešil především, je vzdálený přístup na jeho počítač, který je od mého tak 35 km. Přes SSH to není problém, ale třeba nastavení e-mailového účtu v Evolition přes konzoli není zase taková sranda.
Způsob 1.: Dvojkombinace SSH a Xnest
Hledal jsem nejsnadnější cestu a jako první jsem vyzkoušel úplné SSH tunelování X přes Xnest.
Pro oba způsoby je nutné nastavit XDMCP, aby se po přihláhlášení přes VNC nespustil pouze X server, který je sám o sobě prakticky nepoužitelný a pozná se jako šedivé pozadí s kurzorem ve tvaru X, ale aby se zobrazilo přihlašovací okno.
Je nutné otevřít soubor /etc/gdm/gdm.conf a v něm nastavit parametr Enable ve skupině [xdmcp] z hodnoty False na hodnotu True.
-
[xdmcp]
-
Enable=True
Pak ještě nalést řádek #RemoteGreeter=/usr/lib/gdm/gdmlogin a odkomentovat jej:
-
RemoteGreeter=/usr/lib/gdm/gdmlogin
Po změnách je nutné restartovat GDM, aby se zavedly nové parametry.
-
sudo /etc/init.d/gdm restart
Teď již k samotnému nastavení 1. způsobu. Xnest (Nested X server) je v balíčku xnest, instalace je jednoduchá:
-
sudo apt-get install xnest
Pak se příhlásíme ke vzdálenému počítači:
-
ssh -C -X uzivatel@stanice
a po příhlášení ke vzdálenému počítači stačí na něm spustit:
-
Xnest :20 -query localhost
Hned poté se objeví na lokálním počítači přihlašovací okno do sezení na vzdáleném počítači. Vše běží šifrovaně přes SSH (parametr -X) a také je zapnuta komprese (-C).
Toto řešení funguje dobře, ale k ovládání při vyšších latencích či vytížení linky je potřeba celkem dost nervů, po lokální siti je to paráda.
Způsob 2.: Trojkombinace SSH, X a VNC
Další možností, jak řešit tuto výzvu je využítí technologie VNC.
Na vzdáleném počítači je nutné nainstalovat balíček tightvncserver nebo vnc4server. Já používám tightvncserver, protože má pro mne více konfigurovatelných parametrů a zdá se mi rychlejší v přenosu obrazu. Jenom upozorňuji, že musíte mít povolený repozitář universe, protože v něm je umístěný zamýšlený balíček i balíček Tight VNC Viewer.
Na vzdáleném počítači nainstaluji Tight VNC Server:
-
sudo apt-get install tightvncserver
Na lokálním počítači nainstaluji Tight VNC Viewer:
-
sudo apt-get install xtightvncviewer
Pak už stačí jenom na lokálním počítači spustit:
-
ssh -C -L5901:localhost:5901 uzivatel@stanice Xvnc :1 -query localhost -securitytypes none -once -localhost
To vytvoří SSH tunel a na vzdáleném počítači spustí VNC server.
Na lokálním počítači pak stačí spustit:
-
xtightvncviewer localhost:1
Vše běží šifrovaně a je to dostatečně rychlé. Pomocí IPTABLES je nutné ještě ošetřit port 177, který využívá XDMCP pro své požadavky na síti.
Závěr
Tak, toto jsou zatím nejkratší způsoby, které jsem našel pro bezpečné vzdálené připojení do X-Windows sezení. Dá se jistě použít i NX Server, k tomu se snad dostanu příští víkend.
A taťka? Přechod na Linux nebyl žádný problém, jako advakát již 2 roky používal kancelářský balík OpenOffice.org a produkty z Mozillí rodiny, takže přechod byl naprosto bezproblémový. Jenom Mozilla Thunderbird nahradil Evolution, protože má integrovaný kalendář, úkoly a další drobnosti, které se mu líbili. Dokonce si změnil prostředí oken, pozadí, barev a ikonek ke své spokojenosti tak, že jsem si myslel, že jsem to neinstaloval ani já.
- Mount-or-Umount a výstup do X-Windows/Gnome ze skriptu (zenity)
- Instalace x11vnc 0.8.1 s integrovanou podporou SSL šifrování
- Vmware Server na Ubuntu 7.04 (Unable to connect to the remote host: Login (username/password) incorrect. PAM unable to dlopen.)
- Ubuntu 8.04 Hardy Heron a instalace Vmware Server 1.0.5 (libgcc_s.so.1: version `GCC_3.4′ not found)



(hlasováno 2x, průměr: 4,50 z max. 5)



