abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 2
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

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

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 566 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Guacamole - HTML5 remote desktop

    19.8.2013 16:30 | Přečteno: 3143× | Výběrový blog | poslední úprava: 19.8.2013 17:23

    V lednu jsem tady zveřejnil příspěvek o tunelování skrz korporátní proxy, samozřejmě takové řešení není zrovna ve shodě s bezpečnostní politikou, ale mít přístup k vlastnímu linuxovému systému se prostě hodí, tak jsem se rozhodl toto řešení "zlegalizovat".

    Jednoduše jsem přestěhoval ssh do web browseru, vlk se nažral a koza zůstala celá. Ale když už tak už, co takhle přístup k plnému Xfce desktopu přes webový prohlížeč. Nakonec, taky je to jen otázka instalace několika balíků a jednoduché konfigurace.

    Hezky od začátku

    Jedná se o kombinaci debian+xfce+xrdp+guacamole+lighttpd (reverzní proxy), a začneme hezky od začátku roztočením nové VM s minimální instalací debianu.

    Nainstalujeme základní balíčky a xfce (a lightdm):

    aptitude install openssh-server vim xfce4 lightdm sudo
    

    Teď stačí zapnout lightdm pomocí "service lightdm start" a přihlásit se do Xfce (lightdm také naskočí po rebootu).

    Osobně mi výchozí vzhled Xfce moc nesedí, takže ještě doinstaluji Greybird téma (které závisí na gtk3-engines-unico a gtk2-engines-murrine) a ikonky elementary.

    aptitude install gtk3-engines-unico gtk2-engines-murrine
    

    Samotné greybird téma je možné stáhnout z http://shimmerproject.org/project/greybird/ a stačí rozbalit tarball do ~/.themes. Obdobně, elementary ikonky stačí rozbalit do ~/.icons. A po té v Xfce v menu "Settings->Appearance" vybrat příslušné téma a ikonky.

    Xrdp

    Teď už je čas na xrdp. Jak už to tak bývá, instalace není o nic složitější než:
    aptitude install xrdp
    

    Můžeme otestovat buď pomocí "xfreerdp adresa_serveru" z linuxu (xfreerdp je v debianu/ubuntu v balíčku freerdp-x11) a nebo pomoci klienta z Windows. Samozřejmě je potřeba si dát pozor, aby připojení někde po cestě neblokoval firewall (tcp port 3389).

    Guacamole

    Další na řade je guacamole (samotná RDP->HTML5 proxy). Guacamole je rozděleno do dvou balíků (guacd: demon, který funguje jako proxy mezi RDP, VNC, SSH apod. a guacamole protokolem, který pak interpretuje javascript běžíci v prohlížeči; guacamole: jednoduchá webová aplikace v javě, která stojí mezi guacd a prohlížečem).
    aptitude install guacd libguac-client-rdp0 guacamole guacamole-tomcat
    

    Co se týka konfigurace guacamole, stačí přidat uživatele, nastavit heslo a povolit připojení k vybraným serverům. K tomu slouží /etc/guacamole/user-mapping.xml - ten by měl vypadat přibližně takto (pozn.: heslo zatím nastavte dočasné na otestování, než v posledním kroku přidáme HTTPS reverzní proxy).

    <user-mapping>
        <!-- documentation: http://guac-dev.org/Configuring%20Guacamole -->
        <authorize username="luv" password="abclinuxu">
            <protocol>rdp</protocol>
            <param name="hostname">localhost</param>
            <param name="port">3389</param>
        </authorize>
    </user-mapping>
    
    Poté je potřeba vyresetovat tomcat.
    service tomcat6 restart
    

    To je vše :-). Teď stačí v prohlížeči otevřít http://server:8080/guacamole ... magic! (Ale pozor, v této staré verzi guacamole se kurzor zobrazuje jako vysloveně miniaturní černá tečka, což je ze začátku dost matoucí).

    Lighttpd (mod_proxy) a https

    Samozřejmě začneme nainstalovánim lighttpd

    aptitude install lighttpd
    

    Vygenerujeme self-signed ssl certifikát

    cd /etc/lighttpd/
    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out key.pem -days 3650 -nodes
    
    V /etc/lighttpd/lighttpd.conf pak stači přidat "mod_proxy" do sekce server.modules a také následující řádky:
    server.port = 443
    ssl.engine = "enable"
    ssl.pemfile = "/etc/lighttpd/key.pem"
    proxy.server  = ( "" => ( ( "host" => "127.0.0.1", "port" => "8080" ) ) )
    
    Ještě můžeme přidat následující rewrite pravidlo, které automaticky přidá "/guacamole/" před vsechny URL (snažší než nastavovat výchozí servlet v tomcatu ;-) ):
    url.rewrite-once = ( "(.*)" => "/guacamole/$1" )
    
    Kompletní lighttpd config pak může vypdat třeba takto:
    server.modules = (
            "mod_compress",
            "mod_proxy",
            "mod_rewrite",
    )
    
    server.port = 443
    ssl.engine = "enable"
    ssl.pemfile = "/etc/lighttpd/key.pem"
    proxy.server  = ( "" => ( ( "host" => "127.0.0.1", "port" => "8080" ) ) )
    
    url.rewrite-once = ( "(.*)" => "/guacamole/$1" )
    
    server.document-root        = "/var/www"
    
    server.errorlog             = "/var/log/lighttpd/error.log"
    server.pid-file             = "/var/run/lighttpd.pid"
    server.username             = "www-data"
    server.groupname            = "www-data"
    
    Nové nastavení můžeme otestovat z prohlížeče na adrese https://server

    Závěrečná čistka

    Také by bylo záhodno, aby se na tomcat nedalo připojit přímo, ale pouze přes reverzní proxy o kterou se nám stará lighttpd. V /etc/tomcat6/server.xml najdeme tag "Connector" a přidáme atribut address="127.0.0.1"
        <Connector address="127.0.0.1" port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   URIEncoding="UTF-8"
                   redirectPort="8443" />
    
    A vyresetujeme tomcat:
    service tomcat6 restart
    
    Ještě bych doporučil změnit heslo v guacamole, když už teď bude všechno chodit přes https. A rovnou můžeme uložit nové heslo v user-mapping.xml jako md5 hash. Nejdříve vygenerujeme md5 hash:
    cat | tr -d '\n' | md5sum
    
    A do tagu authorize přidáme atribut encoding="md5". Nový /etc/guacamole/user-mapping.xml pak může vypadat takto:
    <user-mapping>
        <!-- documentation: http://guac-dev.org/Configuring%20Guacamole -->
        <authorize username="luv" password="a1f0ce24f2a7d1731f768c0b655ca3b5" encoding="md5">
            <protocol>rdp</protocol>
            <param name="hostname">localhost</param>
            <param name="port">3389</param>
        </authorize>
    </user-mapping>
    

    Závěr

    Rozjet remote desktop přístupný přes webový prohlížeč není žádná rocket science, a tak si v příštím díle ukážeme, proč to dělat jednoduše, když to jde složitě ... a budeme patchovat, kompilovat, řesit vlastní deployment xrdp a guacamole, rozchodíme si xrdp a guacamole i se zvukem a také se zbavíme závislosti na šílenosti jménem tomcat.        

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    19.8.2013 18:06 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Hm, něčeho podobného by šlo dosáhnout s Xspice + spice-html5. V moderních distribucích bez kompilací. ;-) K testování spice-html5 jsem se nedostal, nicméně podle ohlasů by to chodit mělo.
    19.8.2013 18:26 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Podle toho "bez kompilaci" hadam, ze reagujes na ten zaver kde zminuju provoz Xrdp s podporou presmerovani zvuku ... pokud je Xspice a spice-html5 primo v distru a fakt to chodi se zvukem bez problemu tak proc ne. Pokud ale neni potreba presmerovani zvuku, tak bych se drzel overeneho a sel do Guacamole, to ostatne bude brzo(?) podporovat i SPICE.
    19.8.2013 19:05 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Jo to pardon, spice-html5 zvuk neumí. Jakmile spice jako takový přejde na Opus, mělo by to být v html5 verzi brzy.
    19.8.2013 19:26 dizz | skóre: 21 | blog: Dizzyho_Blog
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Diky borci, davam do TODO listu s cim si hrat ;-)
    Chuck Norris dohral GNU/Linux... a dvakrat!
    20.8.2013 16:34 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    To si teprv pockej na druhy dil :-)
    20.8.2013 19:21 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    A kombinacia XRDP s FreeRDP-WebConnect? :)
    20.8.2013 20:06 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    In particular it relies on the Canvas and the WebSockets feature.
    Neprojde pres korporatni proxy :-)
    20.8.2013 20:23 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    A par dalsich duvodu:
    • Guacamole je overenejsi a ma balicky primo v Debianu
    • aktivni vyvoj a kvalitni dokumentace
    • umi radu ruznych protokolu (a dokonce i presmerovani zvuku)
    Max avatar 20.8.2013 22:39 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Zajímavé. Osobně mám postavený terminal server na FreeNX, ale už je to relativně mrtvoučká záležitost a hledám něco lepšího. Důležité také je, aby to dobře lítalo na pomalejších lajnách. Zatím spíš jen dělám menší průzkum, každopádně jsem myslel, že spice je k lince mnohem šetrnější, nebo se pletu?
    Zdar Max
    Měl jsem sen ... :(
    20.8.2013 23:56 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Jo jasne, na tohle Xrdp idealni asi nebude (navic v tom setupu co jsem zde popsal Xrdp pouziva VNC ke komunikaci s X serverem (Xvnc) ).
    27.8.2013 07:47 boar | skóre: 25 | Praha
    Rozbalit Rozbalit vše Re: Guacamole - HTML5 remote desktop
    Zdar Vypada to pekne, ale ja hledam alternativu logmein/teamview ale na vlastnim serveru. potrebuju, aby zakaznik (popripade maminka:-) kliknul na odkaz/stahnul exe/nebo tak ... a ja jsem mel v tu chvili moznost se k nemu pripojit.

    Zasadni problem je, ze zakaznik (i ja) muzeme byt v tu chvili za natem. Jedine co jsem nalezl, je ultravnc single click. http://www.uvnc.com/downloads/single-click.html nicmene je to celkem krkolomne, a pouziva to nejaky nekompatabilni RFB protokol. - nefunguje to na linuxu s kazdym vnc. navic, nejdriv u sebe musim udelat ssh tunel na server s port forwardem a pustit vnc klienta v modu listen, a pak zakaznik muze spusit jakysi exe, (ktery se mimochodem generuje na strankach uvnc).

    Moje predstava je: zakaznik vleze na www.mujserver.nekde/link_pro_remote stahne + spusti exe/stahne + spusti jar ja provedu vncview mujserver:nejakyport a hotovo.

    Nejake tipy ?

    Založit nové vláknoNahoru

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