abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 16:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 163. brněnský sraz, který proběhne v pátek 26. dubna od 18:00 v indické restauraci Everest na adrese Veveří 61.

Ladislav Hagara | Komentářů: 0
dnes 15:33 | IT novinky

Všem dívkám v ICT vše nejlepší k dnešnímu Mezinárodnímu dni dívek v ICT (Wikipedie, Girls in ICT Day, YouTube).

Ladislav Hagara | Komentářů: 2
dnes 12:22 | Nová verze

Byla vydána verze 1.12 systému pro správu a verzování zdrojových kódů Apache Subversion (Wikipedie). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 1
dnes 12:11 | Zajímavý článek

Mozilla zveřejnila každoroční Internet Health Report, který popisuje aktuální společenská témata související s využíváním Internetu. Tentokrát se dotýkají mj. etiky algoritmů strojového učení, cílené reklamy a „chytrých měst“.

Fluttershy, yay! | Komentářů: 1
dnes 08:44 | Nová verze

Webová aplikace pro správu repozitářů v gitu Gitea vyšla v nové verzi 1.8.0. Nově poskytuje OAuth 2.0, umožňuje archivaci repozitářů, skrývání organizací jako interních či soukromých, zamykání konverzací a mnoho dílčích změn.

Fluttershy, yay! | Komentářů: 5
včera 19:33 | Nová verze

Bylo vydáno OpenBSD 6.5. Opět bez oficiální písně. Nejnovější OpenBSD přináší například OpenSMTPD 6.5.0, LibreSSL 2.9.1 nebo OpenSSH 8.0.

Ladislav Hagara | Komentářů: 1
včera 11:33 | Zajímavý článek

Na oficiálním blogu Raspberry Pi byla představena kniha An Introduction to C & GUI Programming. Kniha je ke stažení zdarma (pdf). Papírovou verzi lze koupit za 10 liber.

Ladislav Hagara | Komentářů: 14
včera 10:33 | Nová verze

Byla vydána nová verze 4.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 3 100 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
včera 10:00 | Nová verze

Google Chrome 74 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 74.0.3729.108 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 39 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
23.4. 21:44 | Nová verze

Po roce vývoje od vydání verze 1.14.0 byla vydána nová stabilní verze 1.16.0 dle Netcraftu aktuálně nejpoužívanějšího webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.16.

Ladislav Hagara | Komentářů: 0
Používáte headset pro virtuální realitu?
 (1%)
 (3%)
 (2%)
 (18%)
 (1%)
 (74%)
Celkem 238 hlasů
 Komentářů: 12, poslední 18.4. 01:19
Rozcestník

VNC - používáme vzdálený desktop

25. 5. 2007 | Michal Vyskočil | Sítě | 82187×

Jak na Linuxu používat aplikace z Windows a naopak. Také se dozvíte, že provozování unixových programů je na Windows stejně pohodlné, jako používání programů z Windows na Linuxu.

Obsah

Co je VNC

link

VNC neboli Virtual Network Computing je systém pro grafické sdílení desktopů (tedy ne jednotlivých oken, jak to umí například X server), který používá protokol RFB (Remote FrameBuffer). Vše, co VNC klient dělá, je zachytávání události klávesnice a myši z klientského systému a jejich odesílání přes síťové spojení na server, kde jsou předány hostitelskému systému. Server potom odesílá obraz plochy zpět klientovi. Pokud to není pochopitelné, bude lepší se podívat na obrázek, který znázorňuje schéma komunikace.

vnc 01

Po instalaci a správném nastavení vnc serveru a klienta (občas je nazýván prohlížeč – viewer) se pomocí klienta jednoduše připojíme na server a od té chvíle můžeme ovládat jeho vzdálenou plochu, jako bychom seděli přímo u něj. Ovšem ve světě počítačů není nic tak jednoduché, jak to vypadá, a náš problém u VNC zní bezpečnost. Protokol není jakkoli šifrován a heslo, které si můžete nastavit, je stejně jako u ftp nebo telnetu přenášeno v plaintextu, takže náš obrázek číslo 1 ve skutečnosti dopadne asi takto.

vnc 02

Jediným rozdílem je, že ve skutečnosti počítač napadne spíše nějaký bot než přímo člověk, ale toto nebezpečí není radno podceňovat, protože porty VNC patří k těm "profláknutým" a mnoho uživatelů s hrůzou zjistilo, že jim někdo zasahuje do počítače! Pokud ovšem uživateli nevadí používat telnet (obyčejný telnet, ti, kteří mají telnet vyspravený Kerberosem, se nepočítají), může si klidně nezabezpečené VNC používat, ale je to počítačový ekvivalent ruské rulety s pěti a dost možná i šesti náboji v komoře.

Řešení, jak zabezpečit komunikaci, je několik:

  1. Pořídit si VNC server, který má přídavné šifrování.
  2. Komunikační kanál VNC vést přes zabezpečený kanál.

Možnost číslo dvě používá pouze základní VNC protokol, tudíž by se měl libovolný klient připojit k libovolnému serveru bez větších komplikací. Nejjednodušší cestou, jak na Linuxu vytvořit takový kanál, je použít ssh. I když je pro mnoho lidí ssh ten vzdálený shell, ssh ve skutečnosti pouze šifruje komunikaci a shell nabízí hostitelský systém. Ssh je tak moc spojeno s unixy, že se mi nepovedlo některý software (WinSCP) vůbec přimět k připojení se k serveru s Windows, cesta začínající c:\ mu prostě dělala potíže... Následuje poslední motivační obrázek.

vnc 03

Na Wikipedii je sekce Comparison_of_VNC_software, kde je možné se rychle seznámit s jednotlivými implementacemi a některou z nich si vybrat. Instalace se liší dle vybrané platformy a zvoleného softwaru. Ovšem mnoho implementací je dostupných pod GNU GPL. Pro uživatele Linuxu bude nejlepší přečíst si stránku o VNC na gentoo-wiki. Pokud budeme používat připojení pomocí ssh tunelu, můžeme omezit připojení pouze pro lokální připojení a povolit přihlášení bez hesla.

Porty

link

VNC standardně běží na portech 5900 až 5906, přičemž jim odpovídají čísla virtuálních obrazovek :0 až :6. VNC klienty napsané v Javě naproti tomu používají porty od 5800 do 5806. To je důležité vědět, pokud chceme tunelovat pomocí ssh. U klienta s Windows je situace obtížnější, protože ten standardně neumožňuje paralelní běh více uživatelů, takže na něm máte pouze jedinou plochu. Pokud potřebujete více uživatelů na této platformě, obraťte se na technickou podporu Microsoftu.

Tunelujeme přes OpenSSH

link

OpenSSH je kvalitní open-source implementace protokolu SSHv2, která je na unixových stanicích de facto standard. Její nevýhodou pro uživatele Windows je, že se jedná o unixový program se vším všudy, který nemá žádné GUI nebo něco na ten způsob. Pokud chceme vytvořit tunel, je nutné na stanici, která slouží jako server, nainstalovat SSH server.

Instalace OpenSSH serveru v unixech

link

V Linuxu nebo BSD systémech je instalace a zprovoznění velice triviální. V případě distribuce Linuxu stačí napsat aptitude install openssh-server (nebo distribuční ekvivalent v podobě yum, pacmac, emerge, urpmi nebo třeba smart) a za chvíli máme server nainstalován a spuštěn. Na některých systémech bývá ještě nutné ssh server spustit ručně.

Instalace OpenSSH serveru ve Windows

link

Ve Windows jsou dvě možnosti, jak instalaci provést. Pokud na počítači není Cygwin, je možné nainstalovat sshwindows, což je port OpenSSH pro Windows, který si s sebou nese potřebnou část Cygwinu. Ovšem v případě nainstalovaného prostředí Cygwin se stane, že se mezi sebou začnou hádat dvě verze dynamických knihoven a bez poměrně velkých znalostí systému Windows a jeho dynamického linkeru (což, ruku na srdce, zlenivělí unixáci nebudou) se neobejdeme.

Pokud je na počítači nainstalován Cygwin, stačí pouze doinstalovat OpenSSH server (je dostupný v základním výběru balíčků) a pomocí návodu na http://pigtail.net/LRP/printsrv/cygwin-sshd.html nakonfigurovat. Je to nezbytné, protože je třeba přimět systém Windows, aby bral ssh démona jako svoji standardní službu, a kvůli synchronizaci uživatelských hesel. Od Windows XP SP2 je také nezbytné povolit v integrovaném firewallu (pokud je používán) port 22, protože standardní nastavení má uzavřené všechny porty, a dokonce ani neodpovídá na ICMP requesty.

Pochopitelně není nutné se "omezovat" na implementaci OpenSSH a použít buďto server přímo od ssh.com nebo třeba freeSSHd, který nabízí i grafické rozhraní k ovládání systému.

Stavíme tunely

link

Tunelování nebo-li směrování portů (podrobněji třeba na SSH receptem na bezpečnost 2) je schopnost ssh vytvořit zabezpečený komunikační kanál, přes který mohou téci data. Jediná nevýhoda použití ssh je, že protokol pracuje na aplikační úrovni; to znamená, že to není zcela transparentní, ale je nutné změnit číslo portu.

Příkazem

ssh -L 5901:localhost:5900 user@server.domena

vytvoříme tunel z portu 5900 vzdáleného počítače na port 5901 lokálního počítače. VNC prohlížeč tedy připojíme na lokální port 5901 a ssh se postará o transparentní šifrování a přenos na port 5900 vzdáleného počítače, kde je opět rozšifruje a předá VNC serveru.

Uživatelé Windows většinou nepoužívají OpenSSH klienta, ale dávají přednost programu Putty, který tunelování umí také. Podrobnější návod (přímo pro tunelování VNC) je na http://martybugs.net/smoothwall/puttyvnc.cgi. Při používání Putty mě pouze vypeklo to, že je v definici tunelu nutné místo localhost zadat IP adresu 127.0.0.1 (anebo oblíbený cíl, kam posíláme script-kiddies).

Připojení

link

Díky tomu, že je použit pouze základní VNC protokol a o šifrování/dešifrování se stará ssh, je možné použít libovolného klienta. Náš tunel končí na localhost:5901, tudíž do přihlašovací obrazovky VNC prohlížeče zadáme localhost:1 (pozor, některé prohlížeče vyžadují číslo portu, takže v tom případě se připojíme přes localhost:5901).

vnc 04

A nakonec poslední obrázek ukazuje připojení notebooku s Linuxem na pracovní stanici s Windows pomocí protokolu VNC tunelovaného přes ssh (z něhož je jednoznačně poznat den, kdy byl tento screenshot pořízen). Na obou stranách byla použita implementace z OpenSSH, jako server na Windows byl zvolen RealVNC a jako prohlížeč krdc z prostředí KDE. Poměrně šikovná vlastnost krdc je propojení schránky.

vnc 05

Alternativy k VNC

link

VNC pochopitelně není jediná možnost, jak používat vzdálený desktop. Samotný X server používaný na unixech je síťově transparentní, takže není nutné instalovat externí software, ale použít nativní prostředky systému. Bohužel není X protokol zabezpečený, takže je nezbytné použít tunel (nejčastěji) pomocí SSH, které má podporu X forwardingu zabudovanou. Výhodou je, že se okno zobrazené pomocí X protokolu nijak neliší od oken, které běží lokálně. Správce oken, který je ovládá, totiž běží na vašem lokálním stroji (technicky tam běžet nemusí, ale to už je trochu komplikovaný případ). Nevýhodou je pochopitelně skutečnost, že X server je nativní na unixech, ale na Windows, který je nejpoužívanějším desktopovým OS na zemi, už ne. Pro Windows je možné použít třeba Xming.

Klasikou v přístupu na vzdálený desktop je potom společnost Citrix a jejich produkt Citrix Presentation Server (dříve známý jako Citrix Meta Frame) a Citrix ICA Client. Citrix se také více podobá X serveru v tom, že nepřenáší framebuffer, ale vysokoúrovňové informace jako barevnou hloubku, souřadnice a podobně. Na protokolu ICA (Independent Computing Architecture) je založen protokol RDP, ovšem vztahy mezi společnostmi Citrix a Microsoft jsou, diplomaticky řečeno, komplikované.

Remote Desktop Protocol (RDP) z Windows Terminal Services je protokol vyvinutý společností Microsoft pro vzdálené připojení k systému Windows. Klienty jsou dostupné pro řadu platforem (například krdc z prostředí KDE tento protokol umí). Klient pro unixové systémy je například rdesktop a pracuje se i na serveru pro unixy xrdp. Ovšem momentálně je RDP záležitost operačního systému Windows.

Samotný X protokol spotřebuje poměrně velkou šířku pásma (řešení typu lbproxy se neujala, ale často se používá ssh komprese), takže existuje protokol NX, který provádí kompresi a optimalizaci datového toku, navíc může fungovat jako proxy pro RDP nebo samotné VNC. Společnost NoMachine dodává servery i klienty pro mnoho platforem a základní knihovny klienta jsou dostupné pod GPL. FreeNX je implementací serveru NX protokolu pod licencí GPL.

Program synergy sem, přísně vzato, nepatří, protože nepřenáší žádný obraz (základním předpokladem je, že druhý počítač vidíme), ale vzdálenou správu umožňuje také. Můžeme si jej představit jako osekané VNC. Pokud máme dva počítače, je otravné pořád brát jinou myš a klávesnici v závislosti na tom, který chceme používat. Použití je jednoduché: na počítači, u kterého sedíme, rozjedeme synergy server (synergys) a na dalším klienta (synergyc). Potom normálně pracujeme na svém počítači. V okamžiku, kdy se chceme přesunout na ten sousední, jednoduše posuneme myš na okraj obrazovky (závisí na konfiguraci), která najednou opustí počítač a objeví se na tom vedlejším. Veškeré vstupy z klávesnice se pomocí TCP/IP přenáší na ten vedlejší. Funguje jak na Linuxu, tak i na Windows. Navíc dokáže sdílet schránku.

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

25.5.2007 00:25 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše vncviewer -via
vncviewer má paramentr -via, kterým lze určit SSH server, přes který se automaticky sestaví tunel.
25.5.2007 00:27 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše VNC a Mac OS X
Máte někdo skušenosti s přístupem přes VNC na Mac OS X server? Co jsem zjišťoval, tak Apple si nechutně pozměnil identifikaci verzi RFB protokolu, takže klient se nedokáže se serverem dohodnout.
31.5.2007 10:35 m
Rozbalit Rozbalit vše Re: VNC a Mac OS X
funguje mi z Windows, klient tightVNC, na desktopový MacOSX 10.4.9
25.5.2007 00:31 Marko
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
nebolo by jednoduchsie pouzit stunnel?
25.5.2007 12:03 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Možná ano, ale byl jsem líný jej studovat, když přes ssh to jde taky :-)
When your hammer is C++, everything begins to look like a thumb.
25.5.2007 07:49 Miloš Kozák | skóre: 18 | blog: jentak
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Heslo v plaintextu přenášeno neni.. Ale používá kapku jinou metodu, ale máte pravdu bezpečná také moc neni. Ale rozhodně heslo po síti nechodí.
25.5.2007 09:13 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Ani kdyz na te vzdalene masine spustite treba internetovy prohlizec a pripojite se do sve banky? Posila prece vsechny udery do klavesnice, ne?
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
25.5.2007 09:24 CEST
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
jestli ma nejake jednoduche sifrovani nebo to posila plain text je relativne jedno. Kdyz uz je nejakej sitar dost zdatnej na pouziti tcpdump/Wiresharka/Etherealu, tak si dokaze najit program na dekodovani kodovanyho streamu VNC. Pokud je to BFU, tak zrejme nebude vedet, o cem je tcpdump/wireshark/ethereal a tudiz je jedno, jestli se to koduje nebo ne. Problem je, ze proste neni implementovane zadne spolehlive sifrovani.

Tak ano, kdyz se z vnc serveru bezpecne prihlasujes do sve banky, ale na svuj vnc server se pripojis primo, tak muze nekdo odposlouchavanim dekodovad poslane klavesy. Co jsem ted letmo kouknul do specifikace RFB protokolu, tak KeyEvent posila keysym, coz neni primo ASCII klavesy, ale X reprezentace sltacene klavesy, takze v tcpdump/wiresharku nebude primo videt znak, ale da se jednoduse dekodovat.
25.5.2007 12:52 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
jestli ma nejake jednoduche sifrovani nebo to posila plain text je relativne jedno.

To je sice pravda, ale da sa to spravit jednoducho a predsa inteligentne. Tak ako je spravene AuthDigest v HTTP. Server ti posle nahodny retazec, ty k nemu na strane klienta pripojis svoje heslo a cele to prezenies hashovacou fciou (napr. SHA1) a vysledok posles serveru. Ten je schopny spravit to iste, takze porovnanim vyslednych retazcov vie server overit, ci klient pozna heslo alebo nie. Nie je to odolne na man_in_the_middle utok, ale na zabranenie odpocuvania to staci.
If you hold a Unix shell up to your ear, you can you hear the C.
25.5.2007 13:17 CEST
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Jojo, takhle funguje APOP u POP3. To je ale jenom pro prihlaseni k tomu VNC. Autentizace k VNC tedy je kodovana tim heslem (podle specifikace ted koukam, ze server posle nahodnych 16bytu, klient zasifruje pomoci DES jako klic pouzije zazdane heslo).

Dalsi komunikace probiha bez jakehokoliv sifrovani, kdyz se stiskne klavesa, tak se posila keysym, coz je prakticky plain text. A to je problem a proto je nutne sifrovat.
25.5.2007 12:05 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
OK, omlouvám se za mystifikaci, já byl přesvědčen, že jde o plaintext, proto se také všude doporučuje vnc tunelovat přes něco jiného.
When your hammer is C++, everything begins to look like a thumb.
25.5.2007 13:19 CEST
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
No VNC urcite tunel, ja netunelovany VNC pouzivam pouze doma na LANu a v praci pouze na nedulezity testovaci stroje v lokalni siti. Vzdalene bych VNC bez tunelu nikdy na real server nedovolil a to bych doporucoval i ostatnim.
25.5.2007 16:08 Miloš Kozák | skóre: 18 | blog: jentak
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
To neni problém, jenom jsem to chtěl uvést na pravou míru... Kapku jsem to nastudovával do mé bakalářky:)

BTW povedlo se někomu zprovoznit SSH server v cygwin ve Windows 2003 Server RC2, nebo nějak tak se to značí? V pohodě to nainstaluju, ale spustit to už nejde... moc se ve windows nevyznám ..

dik
25.5.2007 17:35 Honza "tux" Friesse | skóre: 15 | blog: Tuxův blog | Vyškov
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Já ho vždycky spouštím jen na chvíli ve Windows XP, tj. ne jako službu, ale spustím /usr/sbin/sshd a funguje to. Zkusil bych nejprve toto jednodušší řešení a teprve potom studoval cygserver.
25.5.2007 22:13 Miloš Kozák | skóre: 18 | blog: jentak
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Ve windowsXP mi ssh server v poho funguje.. ale v server ne..
25.5.2007 08:55 petris
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Ja na spojovani obrazovek ruznejch pocitacu pouzivam x2x. Vyhoda je, ze nemusim poustet zadny kombinace server/klient, ale proste, az se rozhodnu pripojit k memu X nejaky jiny, spustim x2x. Na ostatnich strojich neni potreba nic instalovat/spoustet (krome tech Xek :)

Jinak VNC ma velkou nevyhodu v tom, ze prenasi celou plochu. Ve vetsine pripadu by si ale clovek vystacil s konkretni aplikaci. Proto pouzivam radeji normalni X protokol.
25.5.2007 10:55 Jirka
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
X11vnc umoznuje prenaset jen urcite okno.
25.5.2007 13:20 CEST
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
No vida, to jsem si nikdy nevsimnul, to je docela super vec!:)
25.5.2007 09:14 CEST
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Taky bych mel par postrehu, nemyslim to jako negativni kritiku, spis jako doplneni a osobni zkusenosti.

Osobne misto RealVNC pouzivam TightVNC, obsahuje totiz kodovani tight, nastaveni jpg kvality obrazu a kompresniho stupne. Kdyz jsem naposledy zkousel RealVNC, byl docela pomalej a tyhle volby myslim nemel, tak jsem presel na tight. Jinak pro Wokna je jeste UltraVNC (ma docela super funkce), ktery umi autentizovat pomoci Windows systemu a proto neni dostupny bohuzel pro Linux (aspon jsem ho nenasel).

K tomu tunelovani bych se take spis primlouval k stunnelu, zvlaste kdyz by uzivatel nemel mit pristup na shell, navic pres stunnel jde autentizovat pomoci certifikatu, takze i autentizace muze byt bezpecna. Dalo by se pouzit i treba OpenVPN (nebo jina VPN), do ktery by se pak schovala jakakoliv dalsi komunikace (napr. IMAP, SMTP...). Stunnel i OpenVPN maji binarni balicky take pro Windows, takze odpada starost s instalaci ssh serveru na Windows, ale osobne jsem to take resil CygWin SSH, ale to jsem chtel i shell a komplet Unix prostredi.

K alternativam. Jako hlavni nevyhodu cistyho prenosu X bych videl to, ze pri padu site, PC nebo klientskeho OS spadne okno a tim se aplikace ukonci. V pripade rozdelane prace to pak hodne vytoci. V pripade padu VNC vieweru ho clovek nahodi znovu a pracuje dal. Vyhoda tunelovanyho X protokolu je naopak ta, ze se okna zobrazujou jako soucasti OS a jde se prepinat pomoci Alt-TAB (s VNCviewerem bud Alt-TAB prepina okna ve VNC nebo se prepina mezi VNCview a ostatnima aplikacema OS).

VNCviewer se obvykle pripojuje k virtualnimu VNC serveru na Linuxech. Ve Windows se pripojuje k aktivni session. Pokud by chtel nekdo v Linuxu, aby se pomoci VNCview pripojil k te session, kterou ma na lokalnim monitoru, lze pouzit x11vnc, ktery vytvori virtualni VNCserver s obsahem, ktery se zobrazuje na lokalnim monitoru. Tzn. chovani bude pak naprosto stejne jako v pripade Windows.

K programu synergy existuje take VNC alternativa: x2vnc a win2vnc. Funguji na opacnem principu nez synergy. U synergy je nastartovan daemon na pracovni stanici, u ktere sedim a ovladane pocitace spousteji klienty a pripojuji se k hlavni stanici. x2vnc a win2vnc naopak funguji podobne jako vncviewer a pripojuji se na vncserver na ovladanou stanici (tam musi samozrejme bezet vncserver, cimz se zabiji dve mouchy jednou ranou - pokud sedim u pracovni stanice, mohu druhou stanici ovladat pres x2vnc, pokud jsem nekde mimo dosah ovladane pracovni stanice, mohu spustit vncviewer). x2vnc/win2vnc ma min moznosti nastaveni, coz je dano IMO pouzitim VNC protokolu, lze nastavit pouze 4 smery (sever, jih, zapad, vychod), na rozdil od Synergy, kde lze presne definovat, ze vpravo mam 1.ovladanou stanici a jeste vpravo od ni je dalsi ovladana stanice (mozna by slo tohle resit i pomoci x2vnc s tim, ze by na ovladane 1.stanici bezel dalsi x2vnc/win2vnc pripojeny na dalsi ovladanou stanici, ale to jsem nezkousel). Jeste v reakci nekdo zminil x2x, coz je ale pouze reseni pro X2X (mouse on one X display to be used to control another X display), kdezto pomoci vncserveru (x11vnc/winvnc.exe) a x2vnc nebo win2vnc muzete ovladat X2X, X2Win, Win2X a to jak na fyzicky X server (x11vnc) nebo na virtualni (vncserver zobrazeny pomoci vncviewer). Mam takhle resene na jednom monitoru ovladani Win ve Vmware zobrazene na X server pres vncviewer+WinVNC, dale vncserver v Linux ve vmware, dale normalni Xka+fluxbox, a pak jeste X server s prohlizecem zobrazujicim Nagios. Ctyri svetove strany obsazene, prepinani tech Xkek na druhym linuxu resim pomoci xsendkeycode (emuluje to stiknuti klaves v Xkach, fakt vsechny klavesy, takze pomoci CTRL-ALT-F5 az F8 prepinam screeny).
25.5.2007 12:11 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Osobne misto RealVNC pouzivam TightVNC, obsahuje totiz kodovani tight, nastaveni jpg kvality obrazu a kompresniho stupne.
Souhlasím, že je RealVNC (alespoň v základní variantě) nejpomalejší, ale v době psaní článku jsem jiné servery nezkoušel. Ale používám jej pořád, protože se mi nechce vrtat do něčeho, co už jsem rozjel :-)
K tomu tunelovani bych se take spis primlouval k stunnelu, zvlaste kdyz by uzivatel nemel mit pristup na shell, navic pres stunnel jde autentizovat pomoci certifikatu, takze i autentizace muze byt bezpecna ...
Používám ssh klíče, takže by to mělo být také bezpečné. Je pravda, že jsem se mohl aspoň odkázat na článek o tunelování na root.cz, kde se probírají i jiné možnosti (se kterými nemám osobně zkušenosti).

Díky za komentář, mám pocit, že vydal za celý článek :-)
When your hammer is C++, everything begins to look like a thumb.
25.5.2007 13:51 CEST
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Souhlasím, že je RealVNC (alespoň v základní variantě) nejpomalejší, ale v době psaní článku jsem jiné servery nezkoušel. Ale používám jej pořád, protože se mi nechce vrtat do něčeho, co už jsem rozjel :-)
Rekl bych, ze i v realvnc jsou prikazy vncserver a Xvnc a parametry budou stejne jako v tightvnc, takze neni ceho se bat.
Používám ssh klíče, takže by to mělo být také bezpečné. Je pravda, že jsem se mohl aspoň odkázat na článek o tunelování na root.cz, kde se probírají i jiné možnosti (se kterými nemám osobně zkušenosti).
Jojo, urcite pres SSH je to stejne bezpecne jako pres stunnel, akorat vyhoda stunnelu je, ze se nemusi vytvaret shell ucty a navic, co me posledni dobou trapilo pri ssh tunelovani, ze jsem na ssh serveru musel spustit nejaky program, aby se spojeni neuzavrelo a tunel zustal. Tak jsem vymyslel ruzne sleepy a podobne, ale bylo to blby, protoze obcas se stalo, ze spojeni sice spadlo, ale protoze na tunel byly pripojene nejake aplikace, tak se ssh spojeni uplne neuzavrelo, takze ssh poslouchalo na portu, ale uz nedokazalo s cilovym serverem komunikovat. Dokud to ssh neskoncilo, tak se samozrejme nenahodilo nove. A i kdyby se nove nahodilo, tak nemohlo poslouchat na tom portu, protoze se tam drzelo to stare ssh. Navic pak jeste kdyz to ssh treba i kompletne spadlo a zacalo se nahazovat nove, tak se obcas stalo, ze na ssh serveru zustal bezet ten udrzovaci proces, takze jsem musel resit jeste zabijeni tech starych procesu.

Samozrjeme klic byl bez hesla, coz byla taky dira, ale na ssh serveru jsem mel v authorized_key omezeni pro ten klic na jeden prikaz (ten udrzovac spojeni). Proste nebylo to ono. Takze jsem presel na stunnel - je to jednoduche na konfiguraci a pritom dostatecne bezpecne (vyzadovani certifikatu podepsanych od vybrace CA). Takze ted je to dobry.
26.5.2007 12:41 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Tomu vytuhavanie ssh-spojenia by sa malo dat pomoct keep-alive paketmi. Putty ma niekde zaskrtavatko, urcite bude nieco aj v cmdline ssh.
If you hold a Unix shell up to your ear, you can you hear the C.
30.5.2007 09:18 pok | skóre: 11
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Pokud by chtel nekdo v Linuxu, aby se pomoci VNCview pripojil k te session, kterou ma na lokalnim monitoru, lze pouzit x11vnc, ktery vytvori virtualni VNCserver s obsahem, ktery se zobrazuje na lokalnim monitoru. Tzn. chovani bude pak naprosto stejne jako v pripade Windows.
Případně přímo v Gnome je vino: Systém -> Nastavení -> Vzdálená pracovní plocha, nebo vino-preferences (alespoň na FC6 to tak je).
rincewind avatar 25.5.2007 10:07 rincewind | skóre: 14 | blog: Bloguji,_tedy_jsem? | Hermanova Hut
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Narazil jste nekdo na to, ze se spatne interpretuji stisky klaves pri pripojeni rdesktopem z linuxu a na stroj s windows (locales mam iso8859-2 - vychozi a utf-8)? Jistym pokrokem je, ze jsem nastavil jazyk na en-us, ale presto nektere klavesy (zrejme jen s hackem nebo carkou) se poslou bud dvakrat nebo jedno s diakritikou a druhe bez. Jinak co se tyce VNC tak osobne jsem narazil na podobny problem, ze nesla poslat diakritika.
25.5.2007 10:51 CEST
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Jojo, s cestinou je to tezky. Pri kombinaci Linux vncview a Win vncserver je to jeste o kombinaci En-Cz v linuxu a ve Win. Je to takovej trosku gulas. A urcite taky bude zalezet, jak se spousti ten vncviewer. Linux 2 Linux by snad s cestinou nemel mit problem.
25.5.2007 15:17 Franta
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Taky, taky. Psaní písmenek v RDP většinou funguje, ale některé znaky se jen špatně zobrazují (třeba v Excelu v tabulce, ale v řádku vzorce jsou dobře).

P.S. Tenhle prispevek jsi psal také z VNC?
25.5.2007 10:16 pet
Rozbalit Rozbalit vše Alternativa - ssh X11 forwarding
S alternativou ssh X11 forwarding jsou problemy pri pouziti aplikaci pouzivajicich gtk2 - tyto padaji. Aplikace pouzivajici starsi gtk nepadaji. Pokud nekdo vi, co a jak je potreba osetrit, aby tomu tak nebylo, prosim prosim, podelte se s nami.
25.5.2007 11:05 Jirka
Rozbalit Rozbalit vše Video stream z VNC streamu...
Rad bych se zeptal, jestli nekdo resil otazku premeny VNC streamy na video stream. Rad bych deni ve vncviewer encodoval do video streamu, nasledne distribuoval po siti a prohlizel ho treba pomoci VLC. Nevite, jestli neco takoveho jiz exituje?
25.5.2007 11:35 CEST
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
Jen tak v rychlosti co ma Gentoo:

vnc2swf http://www.unixuser.org/~euske/vnc2swf A tool for recording Flash SWF movies from VNC sessions (to spis pro zaznam)

vncrec http://www.sodan.org/~penny/vncrec/ VNC session recorder and player (tohle je taky spis pro zaznam, ikdyz pro transcode existuje modul na converzi do AVI, tak mozna by se to dalo nejak donutit, aby to streamovalo online).

pripadne nejhorsi moznost:

vncsnapshot http://vncsnapshot.sourceforge.net/ A command-line tool for taking JPEG snapshots of VNC servers

a z toho pak udelat video nebo stream nebo mjpeg by taky mozna slo.

Online streamovani asi nebude, protoze pro online je mozne pouzit share-mode s viewonly kombinaci. Cili pustit server s full-access pristupem pro sebe, a s view-only heslem pro ostatni. Jestli pak budes mit view-only jeste sifrovane treba stunnelem nebo to nechas nesifrovane, to uz zalezi jenom na tobe a obsahu vncserveru. Na prohlizeni vnc ve Windows staci vncviewer.exe, zadne dalsi DLL tusim nejsou potreba (WinVNC.exe jsou potreba dve DLL, ale neni potreba to take instalovat).
25.5.2007 11:55 Jirka
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
Ma predstava je takovato:
* PC1 bezi na windows
* PC2 bezi na linuxu
* PC3 bezi na windows nebo linuxu

Encodovani:
* PC2 se pripoji pre vncviewer na PC1
* na PC1 se encoduje deni ve vncvieweru
* encodovane video se posila do site
* PC2 je dost vykonny na on-line encodovani

Prohlizeni:
* na PC3 pustim VLC a koukam na video
Takze se mi jedna o cteni dat z vncviewer (asi vncrec?) a nasledne prekonvertovani do MPEG streamu (asi transcode s podporou vnc?) a naslednou distrubuci videa do site.
27.5.2007 20:30 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
A nezkoušel jsi na PC1 spustit přímo VLC a jím zachycenou obrazovku streamovat do VLC na jiném PC?
28.5.2007 13:33 Jirka
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
A jak zachycovat obrazovku a streamovat to dal? Soucasny SW umoznuje jen ukladani do souboru, coz je trosku neprakticke.
28.5.2007 19:29 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
Se přiznám, že jsem to nezkoušel, ale žil jsem v tom cokoliv umí VLC zachytit umí i streamovat.
29.5.2007 12:19 Jirka
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
A VLC umi zachytit VNC?
29.5.2007 14:10 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
Aha, už vím proč si nerozumíme. Já vůbec nemyslím zachytávat obrazovku pomocí VNC, ale přímo pomocí VLC, které by mělo umět přímo streamovat obrazovku stroje na kterém běží. Jednou jsem to zkoušel a šlo to, ale už nevím, jestli ve Windows nebo v Linuxu (myslím, že Windows). Ale nestreamoval jsem to, jen ukládal, ale neumělo to zvuk a to mi vadilo.
29.5.2007 17:53 Jirka
Rozbalit Rozbalit vše Re: Video stream z VNC streamu...
Aha, to jsem nevedel ze VLC umi zachytavat obrazovku. Nicmene zachytavat, encodovat a streamovat obsah cele obrazovky je pomerne narocne. Radeji bych streamoval jen urcite okno (x11vnc). Proto budu i nadale hledat cestu pres VNC. Zda se, ze jeden projekt dela co bych potreboval: VNCast (http://wiki.vislab.usyd.edu.au/moinwiki/VNCast).
25.5.2007 11:20 helemesecotonese
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
super vec je take x2x, sice je to neco uplne jineho, ale sikne se to znat...
25.5.2007 11:33 Ash | skóre: 53
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop

Jediná nevýhoda použití ssh je, že protokol pracuje na aplikační úrovni; to znamená, že to není zcela transparentní, ale je nutné změnit číslo portu.

ssh -L 5901:localhost:5900 user@server.domena

SSH tunel není transparentní? A co brání při tunelování použití zcela transparentního

ssh -L 5901:localhost:5901 user@server.domena

?

Já to tak alespoň používám (linux), měnit port mě ještě nenapadlo. To je nějaká vlastnost Windows? Obecně je komunikace je vedená na lokální 5901 posílána na vzdálený ssh port a tam z localhostu na 5901 vzdáleného stroje, takže nevidím problém, asi není dobré to prezentovat jako vlastnost ssh, když je patrně jen řešen nějaký nesoulad v konkrétním nastavení služeb (patrně na woknech běžící vnc:5900 na nějž se chceme z nejasných příčin připojovat podobně jako na linux vnc:5901, ale to jen hádám).

Při používání Putty mě pouze vypeklo to, že je v definici tunelu nutné místo localhost zadat IP adresu 127.0.0.1

V jakém případě je nutno někam do putty.exe zadávat 127.0.0.1? Pokud se připojuji z Woken používám

Connection -> SSH -> Tunnels ->"
Source port: 5901
Destination: server.domena:5901

V jakém případě je nějak potřeba psát 127.0.0.1?

A.

25.5.2007 11:42 Ash | skóre: 53
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Je pravda že úplně transparentní to není, protože v aplikacích je potřeba uvádět localhost místo server.domena :) Ale z hlediska čísla portu to transparentní je. (A také konfliktní, pokud třeba na localhostu na tom portu už něco běží, což je možná ten důvod pro změnu čísla portu v článku, ale to pořád jen hádám...).
25.5.2007 12:02 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Pokud používám místní přesměrování, tak se mi tunel při použití localhost nevytvořil.
When your hammer is C++, everything begins to look like a thumb.
26.5.2007 16:06 Ash | skóre: 53
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Co má být to "místní přesměrování"? Jako když se chcete přihlásit na vnc serveru na lokálním počítači? Tak to bych pak chápal i že je potřeba měnit port a taky že localhost třeba putty nepřeložil (měl by asi použít ....něconěco/system32/hosts, no asi se mu nechtělo :).
26.5.2007 18:20 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
U ssh existuje místní a vzdálené přesměrování. V OpenSSh se rozlišují parametry -L -R, Putty na to má volby Local, Remote při v sekci Tunnels - viz obrázek
When your hammer is C++, everything begins to look like a thumb.
25.5.2007 16:11 botanicus | blog: Botanicusovi povzdechy | Prachatice
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
"pacmac".sub!(/\<pacmac\>/, "pacman")
... mam chut na jablicka ;)
25.5.2007 23:14 Tomáš | skóre: 25 | Ústí nad Labem
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Chtěl bych se vás zeptat, zda-li X server (třeba s nějakým SW) umožňuje skrz síť posílat dění na uživatelovo monitoru. Vím, že VNC to umí a jde mi o to, zda-li to lze řešit i bez něj.

Díky!
26.5.2007 16:26 df
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Potřeboval bych propojit desktop, na kterém beží WinXP a Notebook s Mandrivou 2007 pomocí síťového kabelu. To abych nemusel kvuli přenosu dat mezi počítači vzdálenými tak 0,5 metru používat k transportu dat USB klíč, nebo dokonce napalovačku, nebo něco jiné. Oba počítače mají síťové karty, tudíž se mi to zdá nejjednoduchší řešení. Potíž je ale v tom, že za asi třičtvrtě roku se mi to nepodařilo propojit tak aby to fungovalo, takže když chci přenést pouze jeden soubor, musím použít USB klíč. Jsem však přesvědčen , že za pomocí kříženého kabelu by to mělo jít. Snad zde ani nemusím zdurazňovat, že nějaké šifrování je zbytečné - jeden počítač je ve stolu a druhý na stole tak 0,5 metru. Skoušel jsem ruzná nastavení IP na obou počítačích, ale Windows pořád hlásil omezené, nebo žádné spojení. Ve windowsu je pruvodce nastavením síťě, ale tam se píše, že se má ten pruvodce pustit na všech počítačích, které chci propojit, což předpokládá, že na všech počítačích beží WinXP. Ale na mém notebooku je MDV 2007. Co s tím ? Dá se to sprovoznit ? Mám zapnout na WinXP nějaký server, jak se to dělá ? Ještě jedna věc - na bezpečnosti vuči WinXP nesejde, protože ten počítač není připojený k síti. Tedy nějaké povolené sdílení celého disku mi nevadí, ani pootevírané všechny porty. Jak to ale udělat ? Dékuji za odpověď.
26.5.2007 18:16 Non_E | skóre: 24 | blog: hic_sunt_leones | Pardubice
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
1) Zeptejte se v poradně.

2) Připojení po síti je úplně jiná věc než VNC

3) Nastavte oběma počítačům stejnou masku a každmu dejte ip adresu (třeba 192.168.1.1 a 168.1.2, oba mají masku 255.255.255.0). Pak zkuste z jednoho v konzoli ping 192.168.1.1 resp. 192.168.1.2 a uvidíte, jestli se připojíte.

4) pak se podívejte po nějakém způsobu sdílení souborů - mandriva asi bude umět přistupovat k windowsáckémmu sdílení, pro sdílení z mandrivy se podívejte po sw jménem samba.

5) S problémy a dotazy hledejte v poradně a nebo na internetu (třeba google.cz)
Only Sith deals in absolutes.
John DOE avatar 27.5.2007 09:19 John DOE | skóre: 13
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Ještě dodám, že by jste měl použít křížený kabel pro propojení dvou počítačů přímo. JD
29.5.2007 13:05 Al Za houby
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
To je pravda, ale některé novější síťovky dokáží samy rozpoznat typ kabelu. Srandapes je pak přesvědčovat BFU že jinde to přímákem fachat nemusí.
Dreit avatar 26.5.2007 19:14 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Jentak mě napadá, nejelo by to přes Hamachi?
Nope
24.11.2008 08:50 Sinner
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop

Spustil som TightVNC z linuxu na windowsXP cez hamachi a bol by som  rad, ak by sa niekto vyjadril k bezpecnosti vzdialenej plochy touto metodou. Dakujem.

27.5.2007 02:13 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše X11 a síťový provoz
Chmm, šířku pásma...on hlavně vyžaduje hromadu roundtripů, to je hlavní problém. S tou šířkou pásma to nemusí být až tak strašné, můžu třeba mít na obou stranách broadband. :-) Ale latenci neodstraním. NX je oproti tomu někde úplně jinde.
28.5.2007 11:36 digri | skóre: 12 | blog: digri
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Jeste k tomu tunelovani, pokud se prihlasuju na windowsi masinu, tak je asi jednodussi pouzit SSL tunel (stunnel), na rozdil od SSH s nim pod windows nebudete mit problem. Dalsi alternativou je samozrejme VPN.
13.6.2007 21:06 HonzaD
Rozbalit Rozbalit vše Re: VNC - používáme vzdálený desktop
Já používám na windowse TightVNC s "virtualni" grafickou karotu, je to nejakej ovladac ci co, je to stim znatelne rychlejsi a jako zabezpeceni pouzivam hamachi, je to rychli a pohodlny, ale nekdy se potrebuju pripojit z weboveho prohlizece pres javu od nekud kde nemam cas a nebo prava neco instalovat, je mozne nejak zabezpecit i to webove rozhraní integorvany v thightVNC? treba tim ssl ? Abych nemusel ale na klientovi instalovat zadnej SW

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.