Úvod > Návody > Jak ovládat počítač na dálku

Jak ovládat počítač na dálku

Vzdálený přístup k počítačům můžeme získat díky široké paletě nástrojů a speciálních aplikací, z nichž některé jsou již součástí systémů, jiné jsou dostupné ke stažení zdarma a jiné je zase nutno zakoupit. Třebaže jsou dnešní nástroje tohoto typu uživatelsky přívětivé, někdy musíme mít alespoň jakési základy práce se sítěmi.

V textu níže si představíme nejpoužívanější techniky vzdálené správy počítačů napříč platformami a naťukneme také téma VNC v linuxových a Unixu podobných systémech.

Obsah

Vzdálená plocha Windows

Spravovat počítač vzdáleně můžeme rovnou i z prostředí operačního systému Windows bez nutností instalace aplikací třetích stran. Pro většinu uživatelů však je překážkou to, že vzdálená plocha Windows je dostupná jen u nejvyšších (tj. nejdražších) edic MS Windows: ať jde o Windows XP, Vista, 7, nebo 8, ke vzdálené správě systému musíme mít zakoupenou licenci edice Professional, Enterprise, potažmo Ultimate. V nižších edicích Vzdálená plocha funguje jen a pouze v režimu klient (tj. můžeme se připojit na Windows ve vyšší edici).

Připojení ke vzdálené ploše najdete ve Windows následovně: klikněte na nabídku Start → Programy/Všechny programy → Příslušenství (ve starších verzích Windows dále klikněte na → Komunikace). K přístupu do operačního systému Windows je potřeba znát IP adresu či jméno vzdáleného serveru, mít na takovém počítači uživatelský účet, otevřít ve firewallu Windows příslušný port (systém by měl o otevření portu sám požádat) a také přesměrovat port z routeru/NAT na lokální IP počítače (používáme-li doma/v kanceláři aktivní síťový prvek). Způsob přesměrování portu závisí na použitém typu routeru. Podívejte se proto na dokumentaci svého zařízení.

V případě, že některá z podmínek není splněna (a uživatel ani neví, jak vše nastavit), je lepší použít jednu z přívětivějších služeb, například program Teamviewer (viz níže).


Vzdálená plocha Windows

Populární programy pro vzdálenou správu počítače

Teamviewer

Teamviewer je jednou z nejznámějších a nejpopulárnějších aplikací pro ovládání vzdáleného stroje. Umožňuje správu systému přes sdílení celé plochy (tj. graficky) a také doplňkové služby, u kterých není nutné sdílet plochu: jde například o přenos souborů do libovolných vzdálených složek nebo třeba i chatování s uživatelem spravovaného přístroje.

Program je velmi intuitivní, snadno se ovládá a jeho výhodou je, že podporuje připojení ke vzdálenému počítači, třebaže v cestě může stát router/NAT (což je případ, kdy vzdálený počítač nedisponuje vlastní veřejnou, dedikovanou IP adresou, a není tak z internetu jasně identifikovatelný a přístupný).

Teamviewer umí "obejít" NAT díky tomu, že se připojuje přes "tunel" na servery výrobce tohoto programu. To znamená, že komunikace mezi dvěma počítači proudí také servery třetí strany -- takové řešení proto nemusí být přijatelné pro některé z uživatelů, uživatelů, jež chtějí mít co největší kontrolu nad přenášenými daty a celou komunikací. Domácím uživatelům však v drtivé většině případů takové chování patrně nebude vadit. V opačném případě je nutné sáhnout po jiném (vlastním) řešení.

Samotný Teamviewer je zdarma pouze pro nekomerční použití, pro podnikatelské záměry je nutná registrace programu a zaplacení licence. Nekomerčním použitím se samozřejmě myslí situace, když uživatel nezištně spravuje počítač svého kolegy či člena rodiny. Nicméně Teamviewer je vybaven funkcí, která sleduje, na jaké IP adresy se připojujete (a jaké počítače spravujete) -- proto se může stát, že když se pravidelně připojujete ke známému do firmy či jiné organizace, program vám odepře přístup a vyzve vás, abyste si koupili komerční licenci. Toto chování je někdy překážkou, a proto někteří pokročilejší uživatelé sahají k jiným nástrojům.

Program je dostupný pro všechny tři platformy: nativně pro Windows a Mac OS X a mobilní platformy (iOS, Android, Windows Phone 8), pro Linux jsou dostupné balíčky s přibalenou aplikační vrstvou Wine. Máte-li v Linuxu už Wine nainstalováno, lze stáhnout i instalátor pro Windows (vzhledem k tomu, že linuxová verze instaluje do systému podpůrné služby, je instalátor pro Windows pro některé uživatelé Linuxu schůdnější volbou, jelikož verze pro Windows jde spustit i bez instalace).

Velkou předností Teamviweru (pro obyčejné uživatelé) je, že není podmínkou znát IP adresu vzdáleného počítače, ani mít zřízen uživatelský účet na vzdáleném stroji, a taktéž není potřeba přesměrovávat porty. Ke vzdálenému počítači se uživatel připojuje na základě unikátního identifikačního čísla (ID) a hesla, které Teamviewer vygeneruje sám (lze je změnit).


Teamviewer

Ke stažení: Teamviewer

LogMeIn

LogMeIn označuje celou rodinu softwaru a služeb pro vzdálenou správu počítačů, spolupráce a vzdálené podpory pro jednotlivce i firmy. Drtivá většina produktů této společnosti je placená. Výjimkou je pouze služba LogMeIn Free, která nabízí přes webové rozhraní přístup k maximálně 10 registrovaným počítačům (s operačními systémy Windows a Mac OS X). Součástí služby je také funkce "Wake on LAN", která umožňuje vzdáleně probudit uspaný počítač. Připojení ke vzdáleným počítačům je šifrováno pomocí 256bitového SSL. U LogMeIn Free jsou podporovány také zařízení iPad a iPhone, pomocí kterých se lze připojit na počítače v internetu.

Další produkty, tentokráte již placené, zahrnují LogMeIn Rescue (vzdálená správa počítačů a mobilních telefonů) s cenou cca 1200 USD/rok (kolem 24 000 Kč), LogMeIn Central, což je rozšířená verze LogMeIn Free pro neomezený počet počítačů (299 USD, asi 6 000 Kč ročně), LogMeIn Pro s dodatečnou podporou sdílení souborů, přenosem souborů, vzdáleného tisku, správy počítačů a streamování multimédií (cena zhruba 1400 Kč ročně na počítač) nebo také LogMeIn BackUp, což je online zálohovací služba s cenou zhruba 800 Kč ročně na počítač.

Více o službách LogMeIn: www.logmein.com


LogMeIn Free

VNC

VNC na Windows, OS X i Linuxu: RealVNC

Další, na platformě Windows oblíbenou aplikací, je RealVNC, jež je proprietárním i svobodným softwarem využívajícím VNC, Virtual Network Computing (o jiných bezplatných řešení v Linuxu a dalších Unixu podobných systémech si povíme níže). RealVNC nabízí i verzi zdarma, ta však kromě jiných dodatečných funkcí nepodporuje šifrování spojení. Bezpečnou komunikaci zajistí až vyšší, placené edice této aplikace. Na rozdíl od Teamvieweru zpoplatňuje RealVNC počet spravovaných stanic -- zatímco Teamviewer umožňuje přístup k různým -- i cizím -- počítačům, RealVNC podobně jako nižší edice LogMeIn umožňuje správu pouze známých (vlastních) počítačů. Cena za jeden vzdáleně přístupný počítač se pohybuje kolem 30 USD, což je zhruba 600 Kč.

RealVNC je dostupný nejen pro Widnows, ale také Linux, čistě unixové systémy i OS X. Prohlížeče vzdálené plochy jsou navíc ke stažení také pro mobilní systémy Android a iOS.

Ke stažení: RealVNC

TightVNC

Jedním z nejužitečnějších nástrojů pro více systémů (včetně Windows, pro OS X jako klient) je TightVNC, server a klient v jednom. Programy jsou zcela zdarma (dokonce svobodné pod licencí GNU GPL) a z uživatelského hlediska jsou velmi přívětivé. Díky tomu, že klient (prohlížeč) je napsán v Javě, je TightVNC univerzálním multiplatformním nástrojem pro vzdálenou správu počítačů.


TightVNC Server

VNC na Linuxu (pro pokročilejší uživatele)

Linuxové a obecně Unixu podobné systémy podporují svobodnou implementaci VNC, což je v mnoha případech nejschůdnější a nejuniverzálnější řešení pro vzdálenou správu plochy. VNC sice mívá problémy s rychlostí (odezvou) -- je doporučeno rychlejší připojení alespoň základního broadbandu --, zato je však zcela zdarma a v plné režii uživatele.

Dříve, než si povíme o základním použití VNC, je potřeba upozornit na běžné požadavky, požadavky, se kterými se zákonitě setkáváme při práci se sítěmi.

Na straně serveru (počítači, kam se přihlašujeme) musí být otevřeny příslušné porty a taktéž je nevyhnutelné mít správně nastaven router/NAT, za kterým se server nachází.

Co se týče provozování VNC, server musí mít standardně otevřen port 5090. Stojí-li v cestě router -- což je dnes běžná situace i v domácnostech --, musíme na routeru nastavit přeposlání tohoto portu na IP adresu serveru. Přeposlání (port forwarding) se nastavuje v administrátorském rozhraní routeru a je specifické pro každý typ. Podívejte se proto na dokumentaci svého zařízení.

Předpokládejme, že port 5090 je na server otevřen a je do něj správně přeposílána komunikace z routeru. Není-li v systému nainstalován VNC server, doinstalujeme ho (v linuxových a dalších podobných systémech se jedná zpravidla o balíček x11vnc).

Na straně serveru (vzdáleném počítači, na kterém VNC poběží) spustíme VNC server pomocí následujících příkazů:

$ x11vnc -storepasswd HESLO ~/.x11vnc/passwd
$ x11vnc -display :0

Tím říkáme systému "spusť VNC server a ulož heslo ve znění HESLO do souboru passwd, jenž leží v uživatelském profilu .x11vnc".

(VNC server můžeme tímto způsobem spustit samozřejmě i vzdáleně po přihlášení do systému pomocí SSH.)

Nyní na řadu přichází klientská část, tj. počítač, ze kterého se budeme vzdáleně hlásit do serveru. Na klientském počítači spustíme nějaký klient pro VNC (například TightVNC, popíšeme si jej níže) a do příslušným polí zadáme údaje, tj. IP adresu serveru a použitý port, a to ve tvaru ip-adresa:port.

Pro lepší představu si uvedeme konkrétní příklad: řekněme, že server má IP adresu 192.168.0.2 a pro VNC používá port 5900, pak správný tvar přihlašovacích údajů je 192.168.0.2:5900.

 

Takto provedené VNC však není šifrované, což znamená, že komunikace mezi oběma počítači není zabezpečená, a potenciálně tak hrozí odposlech. Chceme-li snížit riziko útoku, musíme komunikaci zašifrovat -- a to opět a zase pomocí našeho dobrého známého: pomocí SSH tunelu.

Na klientském počítači vytvoříme bezpečný SSH tunel pomocí příkazu:

$ ssh -L 5901:localhost:5900 uzivatel@vzdaleny-server

čímž systému říkáme, "připoj mě na vzdálený server a komunikaci příchozí na místní port 5901 přesměruj přes šifrovaný kanál (SSH) na port 5900 vzdáleného serveru".

Zase platí, že je-li pro SSH používán jiný port než 22, port specifikujeme přes volbu -p xxxx, kde xxxx je číslo portu.

VNC server poté spustíme takto: 1) otevřeme obrazovku serveru, 2) vytvoříme heslo pro sezení VNC a 3) spustíme VNC server:

$ export DISPLAY=:0
$ vncpasswd
$ x11vnc -usepw

Na běžící VNC server se posléze přihlásíme pomocí klienta (například zmíněného TightVNC) pozměněnými údaji: vzdálený server neurčíme jeho IP adresou ani jménem, ale použijeme localhost, tj. místní klientský počítač. Stejně tak port bude místní: 5901 (namísto 5900). Jinými slovy původní zadání 192.168.0.2:5900 se změní na localhost:5901.


KRDC v Linuxu

Nejznámější VNC klienti

  • Krdc -- VNC a RDP klient pro Unixu podobné systémy s KDE.
  • GTK VNC Viewer -- VNC klient zejména pro Unixu podobné systémy s rozhraním GNOME (funguje však i v KDE).


GTK VNC Viewer

Jak vzdáleně spustit Teamviewer na Linuxu?

Představme si následující situaci: vzdálený počítač s Linuxem či jiným Unixu podobným systémem (i Mac OS X) používá Teamviewer a vy jej chcete spravovat i v případě, že u něj není nikdo, kdo by Teamviewer spustil nebo jej v případě problémů restartoval. Totiž byť je Teamviewer poměrně stabilní aplikace na platformě Windows, na Linuxu sem tam dělá neplechu: buď zamrzá, nereaguje, nebo zcela padá. Nesedí-li nikdo u vzdáleného stroje, vyvstává problém, jak Teamviewer přivést zpět k životu a otevřít tak cestu ke správě systému.

Řešení spočívá ve využití SSH tunelu (viz článek Jak na SSH). Zkrátka musíme vzdálenému počítači říct, aby Teamviewer zase spustil.

SSH server je součástí mnoha linuxových a podobných operačních systémů, proto ve většině případů nebude nutné jej instalovat ani detailněji nastavovat. Připomeňme, že SSH používá standardně port 22 (viz níže). Předpokládejme, že SSH na vzdáleném stroji běží a my k němu máme přístup (uživatelské jméno, heslo a známe IP adresu či jméno serveru). V opačném případě sáhněte po zmíněném článku Jak na SSH.

Nejprve se připojíme na počítač příkazem

$ ssh uzivatel@vzdaleny-server

kde uzivatel je jméno uživatele aktuálně přihlášeného na vzdáleném serveru a vzdaleny-server je jméno serveru nebo jeho IP adresa. (Pozn.: Znak $ je symbolem pro uživatelský účet, do příkazového řádku jej nezdáváme.)

Je-li port pro SSH nestandardní (tj. jiný než 22), musíme jej při přihlašování specifikovat:

$ ssh -p xxxx uzivatel@vzdaleny-server

kde xxxx je příslušné číslo portu pro SSH spojení.

Po úspěšném přihlášení zadáme příkazy:

$ export DISPLAY=:0
$ teamviewer

Další možností je zadání zkráceného příkazu při samotném přihlašování:

$ ssh -X uzivatel@vzdaleny-server teamviewer

který říká "připoj mě do vzdáleného serveru a spusť Teamviewer pod (grafickým) X serverem". Opět platí, že pokud SSH server používá jiný port než 22, je potřeba ho specifikovat:

$ ssh -p xxxx -X uzivatel@vzdaleny-server teamviewer