Články
Alternativní (lepší) klienti pro Windows Remote Desktop
Stručný popis terminálových služeb
Terminal Services (TS) tvoří serverovou část vzdáleného připojení k počítači, používají Remote Desktop Protocol (RDP) a Remote Procedure Call (RPC). Nachází se na serverovém i klientském operačním systému od MS (i když se liší vlastnostmi). Například Windows XP Professional povoluje jedno připojení na konsoli (console), což je přímé lokální připojení (session 0, některá popup okna jsou směrována pouze sem) a jedno vzdálené připojení, bohužel však současně může běžet pouze jedno. Windows Server 2003 podporuje konsoli a dvakrát vzdálené připojení, když terminálové služby pracují v módu Remote Desktop for Administration. Nebo větší počet (každé připojení se musí licencovat) vzdálených uživatelů, když TS přepneme do módu terminálového serveru (Terminal Server).
Služba TS standardně poslouchá na portu 3389. RDP spojení standardně šifruje data. Od SP1 pro Windows Server 2003 umožňuje použít přihlášení a šifrování pomocí RDP over SSL (ale stále běží na TCP portu 3389) a protokolu TLS 1.0. K tomu je třeba mít na serveru certifikát, ten se pak může použít pro server authentication, tedy ověření, že se připojujeme opravdu k danému serveru (toto ověření můžeme konfigurovat od RDC 6.0). Základní povolení TS se provádí v System pod Control Panel (Remote), podrobnější pomocí Administrative Tools (Terminal Services Manager, Terminal Services Configuration). Verze na Windows Serveru 2008 byla rozšířena (mimo jiné) o možnost publikovat (a tedy připojit se) pouze aplikaci.
Jako klient slouží Remote Desktop Connection (RDC), dříve Terminal Services Client, reprezentovaný souborem mstsc.exe. Ten umožňuje nastavit řadu parametrů připojení, uložit toto nastavení do rdp souboru, a připojit se. RDC otevírá spojení v celoobrazovém režimu. Nebo také MMC Snap-in Remote Desktops (RDs), který je součástí Windows Server 2003 Administration Tools Pack. Ten umožňuje spravovat řadu RDC připojení spolu s přihlašovacími údaji (credentials) na jednom místě, ale neumožňuje provést všechna nastavení (hlavně připojování lokálních zdrojů - disků). RDs otevírá spojení uvnitř svého rozhranní a nedají se přepnout na celou obrazovku.

RDP existuje v řadě verzí, kdy se stále rozšiřuje funkcionalita, odpovídající verzi RDC je možno stáhnout pro různé verze operačního systému. Windows XP přišlo s verzí 5.1, Server 2003 s verzí 5.2, která umožňuje mapování (některých) lokálních zdrojů, Vista s verzí 6.0 a možností připojit se k aplikaci. Zatím poslední verze 6.1 přišla se Serverem 2008 a vylepšila například tisk a připojení lokálních zařízení. Jednou bezpečnostní novinkou ve verzi 6.0 je Network Level Authentication (NLA), které umožňuje ověřit klienta dříve, než se připojí. Tato funkce však není dostupná v klientovi pro Windows XP (funguje pouze ve Vista a Server 2008). Na Serveru 2008 pak můžeme nastavit, že se mohou připojit pouze klienti podporující NLA.

Novinkou na Windows Server 2008 je také role Terminal Services Gateway, kterou můžeme umístit třeba do DMZ a klienti z internetu s ní komunikují na portu 443 tunelovaně protokolem HTTPS a ona předává komunikaci dovnitř sítě na port 3389.
Pouze jako poznámku, se ještě zmíním, že také existuje Remote Desktop Web Connection. To umožňuje připojení k RD přes internetový prohlížeč pomocí ActiveX komponenty.
visionapp Remote Desktop

Před časem mne kolega upozornil na zajímavou aplikaci visionapp Remote Desktop (vRD), která zefektivňuje práci s RDC a slouží ke správě většího množství RDC připojení. Od té doby jsem přestal používat RDs a využívám pouze tento program, který je zdarma ke stažení z webu www.visionapp.com, pouze je třeba se zaregistrovat. Proč jsem na něj tak radostně přešel se dočtete dále.

V levé části okna se udržuje hierarchická struktura, kde si pomocí složek vytvoříme různé kategorie a do nich umístíme jednotlivá RDC. Při otevření RDC se otevírají do jednotlivých záložek (tabs) nebo do samostatných oken v celoobrazovém režimu. Takže se jednoduše přepíná mezi připojeními, navíc na úvodní záložce (Overview) se nachází náhledy jednotlivých připojení. V nastavení připojení můžeme nastavit velikost desktopu na jednu ze standardních hodnot, na automatickou velikost podle aktuální dostupné plochy v aplikaci nebo na fullscreen. Změnit rozlišení můžeme také rychle přes pravé tlačítko na připojení, změna se ale projeví až po novém otevření připojení.
Každé připojení můžeme konfigurovat stejně jako v RDC, nastavit připojení lokálních zdrojů, omezit některé grafické prvky, také můžeme nastavit port, ke kterému se připojujeme. Navíc se můžeme připojit přímo ke konsoli (pokud to podporuje serverová verze RDP). Můžeme určit, zda se mají speciální kombinace kláves aplikovat na lokálním či vzdáleném počítači. Všechna nastavení můžeme exportovat (a importovat) do VRB souboru, který můžeme zaheslovat.

Je zde také centrální správa přihlašovacích údajů (credentials), které se ukládají šifrovaně. Ty pak můžeme přiřadit ke složce, a připojení je mohou dědit, nebo přímo k připojení. Takže, když změníme heslo nějakého účtu, tak jej stačí změnit na jediném místě. Také můžeme vytvořit složky připojení, která mají stejná hesla, a snížíme počet údajů, které musíme vyplnit při vytvoření nového připojení.
Samozřejmě, používání uložených přihlašovacích údajů, je bezpečnostní riziko. Jak vždy připomíná můj kolega z oddělení bezpečnosti, když se někdo dostane do vašeho profilu, tak se pak může připojit ke všem serverům (které mají uložené údaje). Na druhou stranu je to velké urychlení práce, pokud se jako já, denně připojujete k desítkám serverů, které mají rozdílná a složitá hesla. Někteří klienti umožňují zaheslovat otevření souboru (tedy spouštění aplikace) a šifrují uložená hesla (otázka je, jak bezpečnou šifrou), takže pak se zabezpečení rovná různým aplikacím pro úschovu hesel.
Porovnání různých klientů
Po tom, co jsem napsal tento článek, mne napadlo podívat se, zda neexistují i další aplikace pro správu RDC. Našel jsem jich několik a provedl jsem alespoň stručné porovnání těch, které jsou volně šiřitelné. Jedná se o RoyalTS 1.4.4, mRemote 1.35 beta, Remote Desktop Manager 3.0.0.2 (RDM), Terminals 1.6e, RDTabs 2.0.13. Do tabulky jsem uvedl i visionapp Remote Desktop (vRD).
Zaměřil jsem se na pár vlastností, popsaných níže, a v tabulce je uvedeno, zda ji daný klient podporuje. Nehodnotím přínos těchto vlastností, ale je to, v čem se klienti liší. Pod tabulkou jsou pak ještě poznámky ke klientům a některým speciálním vlastnostem.
Porovnávané vlastnosti
- záložky
- připojení se mohou otevírat v záložkách pro jednodušší přepínání a přehlednost
- credentials centrálně
- přihlašovací údaje jsou spravovány centrálně a pak se asociují k připojení, běžně jsou uchovávány přímo u připojení
- heslo
- přístup k uloženým heslům (konfiguraci) se může zaheslovat, takže při spuštění aplikace se musí zadat jedno heslo, aby bylo možno použít uložená připojení
- skupiny
- můžeme vytvářet skupiny, které většinou přehledně vidíme v levé části okna
- bez instalace
- klient se neinstaluje, takže je lépe přenosný (pro mě to však není velká výhoda)
- změna okna
- funkce Smart Size (či Auto Scale), umožňuje změnu velikosti okna (vzdáleného desktopu) za chodu, zajímavá funkce, ale deformuje se zobrazení, protože se vezme úvodní rozlišení a vůči němu se zvětšuje nebo zmenšuje
- interní/externí
- umožňuje otevřít připojení uvnitř aplikace (většinou pomocí záložek) / umožňuje otevřít nové okno, které může být fullscreen, některé aplikace sice umožňují otevřít připojení ve fullscreenu, ale to je pořád uvnitř aplikace, takže jsou tam navíc nějaké ovládací prvky (mě osobně překáží)
- tray icon
- aplikace má ikonu v tray oblasti a přes ni dovoluje rychle otevírat připojení
- RDP over SSL
- podporuje bezpečnější RDP pomocí TLS
Pozn.: Řada klientů vyžaduje Microsoft .Net Framework (různou verzi).
Porovnání klientů
| vRD | Terminals | RDM | RoyalTS | mRemote | RDTabs | |
|---|---|---|---|---|---|---|
| záložky | + | + | - | - | + | + |
| credentials centrálně | + | - | - | - | * | - |
| heslo | - | + | - | - | + | - |
| skupiny | + | * | + | + | + | * |
| bez instalace | - | + | + | - | - | - |
| interní/externí | +/+ | +/- | -/+ | +/+ | +/+ | +/- |
| změna okna | - | + | - | + | + | - |
| tray icon | - | + | + | - | + | - |
| RDP over SSL | - | - | + | - | - | + |
Vysvětlivky: + vlastnost je podporována, - vlastnost není podporována, * funguje, ale ne úplně nebo jiným způsobem (více je popsáno u programu)
Popis klientů
- Terminals
- Automatic Discovery (vyhledá RDP připojení na počítači a importuje je), podporuje protokoly RDP, VNC, VMRC, RAS, Telnet, SSH, ICA Citrix, obsahuje základní síťové nástroje (jako ping, nslookup, traceroute, connections .), umí zobrazit session info na vzdáleném počítači, obsahuje Screen Capture Manager (umí snímat obrazovky), místo skupin používá tagy a favorites, má nějaké experimentální funkce (třeba šifrování), ale ty se mi nepodařilo ani zapnout, také jsem měl problémy s přidáváním spojení a vůbec se mi nepodařilo spojení smazat

- Remote Desktop Manager (RDM)
- malý klient, podporuje RDP a VNC, ale poskytuje pouze rozhranní a potřebuje mít nainstalováno RDC 6.0 (pak podporuje všechny jeho funkce) a RealVNC 4.0., spojení můžeme rychle spouštět z tray icony, umí načíst RDP soubory

- RoyalTS
- uživatel si musí řídit ukládání a načítání konfigurace, což myslím zbytečně zdržuje, umí zobrazit session info na vzdáleném počítači (jsou třeba dostatečná uživatelská oprávnění)

- mRemote
- podporuje protokoly RDP, VNC, Rlogin, RAW, Telnet, SSH, ICA, http, HTTPS, nastavení parametrů není (pro mne) tak pohodlné/přehledné, credentials se dají nastavit na skupinu a pak dědit (stejně jako všechny ostatní parametry), má Screenshot Manager, obsahuje nějaké nástroje navíc, hezky řešené info o chybách, asi nejdéle startuje

- RDTabs
- podporuje import RDP souboru, podporuje nové funkce RDP 6 včetně NLA (i pro Windows XP), TLS, umí získat informace o RD sessions (a může se zadat uživatel, pod kterým se o to pokusí), připojení spravuje pomocí Favorites, které mohou obsahovat skupiny, ale nejsou vidět v levé části okna (a po nadefinování se musí ještě uložit), obsahuje také stránku s náhledy připojení

Pro Windows Vista je tu také Remote Desktop Gadget, který jsem nezkoušel.
Některé vlastnosti podporují všichni klienti, například připojení na specifikovaný port (místo 3389), připojení na konsoli, změnu řady parametrů, i když se liší některými detaily, třeba specifikaci disku, který se připojí.
Pozn.: Celé testování jsem prováděl krátce, takže jsem asi nenašel všechny zajímavé funkce, či něco nepopsal správně.
Závěr
Klienta vRD používám již několik měsíců a jsem s ním spokojen. Ostatní klienty jsem nyní otestoval jen rychle a asi stále zůstanu u vRD, které má hlavně nejlepší správu přihlašovacích údajů. Každý si ale vybere podle toho, co preferuje. Velmi zajímavý je RDTabs, hlavně tím, že přináší podporu NLA do Windows XP a jako jediný (RDM nemá vlastní podporu, ale využívá RDC) podporuje TLS (RDP over SSL). Terminals a mRemote mají zas řadu funkcí navíc, mohou se použít pro řadu dalších protokolů a někoho zaujme funkce rychlého spouštění přes tray ikonu. RoyalTS a RDM jsou malé a jednoduché programy, které mohou někomu stačit, navíc RDM se nemusí instalovat.
linkuj.cz | zalinkuj.cz | jagg.cz | vybrali.sme.sk | del.icio.us.
Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře
Díky za rozšíření obzorů, o tom, že existují výše uvedené aplikace, jsem neměl ani potuchy.
Zdravím. Jenom takový malý dotázek bych měl. Nainstaloval jsem SP3 pro WinXP Pro. Přestal mi fungovat parametr "/console" u RDP klienta. Při pokusu nainstalovat RDP klienta verze 6, kde tento parametr fungoval mi XP čka SP3 oznámí, že mám už novější aktualizaci a pošlou mě k šípku. Jediné řešení, které mne napadá je uninstal SP3 - má někdo podobnou zkušenost? ...díky.
odpověď na [2]Pavel: mám dojem, že v novější veri je to /admin zkus si zagooglit.
Vector: děkuji za tu radu, mít vás po ruce, máte u mě láhev.... trápím se tím od pátku.