-1Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno Vzdálený přístup k Linuxu (Unixu) z MS Windows Cygwin + TigerVNC (Vzdálená plocha) PS/2020 Distanční forma výuky: Rev4 -2- Cygwin VNC MS Windows ssh tunnel DESKTOP DESKTOP vncserver vncviewer unixový soket Vzdálený linuxový stroj TCP port >= 5900 firewall -3- VNC 1. VNC realizuje obdobu vzdálené plochy. Na rozdíl od exportu displeje je zobrazení velmi rychlé a netrpí tolik latencemi. 2. Pro eliminaci bezpečnostních rizik jsou na klastru WOLF firewallem znepřístupněny porty 5900 a výše, které VNC ve výchozím stavu využívá a které mohou být zneužity k neautorizovanému přístupu. Toto opatření značně komplikuje použití VNC. 3. Významné usnadnění použití VNC přináší upravené programy vncserver a vncviewer pro TigerVNC: 1. vncserver 1. spustí VNC server, který naslouchá na unixovém soketu (TCP síťová spojení na portech 5900 se neotevírají) 2. přístup k unixovému soketu je omezen pouze na uživatele, který VNC server spouští 3. výchozím desktopem je JWM (funguje na všech vzdálených strojích), na některých strojích je možné spustit plnohodnotné Ubuntu GNOME (--fullgui volba) 2. vncviewer 1. sestaví ssh spojení na vzdálený stroj a vytvoří tunel k unixovému soketu na vzdáleném stroji 2. spustí VNC klienta, který zobrazí vzdálený desktop -4- Instalace -5Instalace prostředí Cygwin 1. Spusťte instalátor prostředí Cygwin, https://www.cygwin.com/, setup-x86_64.exe 2. Použijte výchozí nastavení 1. Download site zvolte z CZ (zakončení .cz) 2. Select packages: Doinstalujte následující balíčky: (View: full; Search: balíček, místo Skip zvolte nejnovější verzi) 1. krb5-workstation 2. openssh 3. nc 3. Spusťte terminál Cygwin Prostředí Cygwin můžete použít i k jiným účelům než výhradně pro NCBR TigerVNC. -6Instalace VNC klienta 1. Následující příkazy se provádí v terminálu Cygwin na vašem počítači. 2. Stáhněte instalační balíček programu ncbr-tigervnc: 3. Spusťte instalátor: 4. Oveřte, že je program vncviewer dostupný: $ scp username@wolf02.ncbr.muni.cz:~kulhanek/Documents/C2110/Software/ncbr-tigervnc-cygwin64.run . $ bash ncbr-tigervnc-cygwin64.run $ type vncviewer /usr/bin/vncviewer mezera, tečka Poznámky: • instalátor nastaví prostředí Cygwin pro použití protokolu Kerberos pro META realm • instaluje soubor /etc/krb5.conf (vždy) • instaluje soubor ~/.ssh/config (pokud neexistuje) -7Doplňující konfigurace Host * # ... SendEnv LANG LC_* HashKnownHosts no GSSAPIAuthentication yes GSSAPIDelegateCredentials yes User kulhanek Do souboru ~/.ssh/config můžete přidat vaše uživatelské jméno, které používáte na vzdálených unixových strojích. Konfiguraci je možné měnit i jmenovitě pro konkrétní stroje (Hosty), viz man ssh_config. Petr Kulhánek@DESKTOP-272HMB1 ~ $ ssh kulhanek@wolf02.ncbr.muni.cz Petr Kulhánek@DESKTOP-272HMB1 ~ $ ssh wolf02.ncbr.muni.cz Je nutné explicitně uvést uživatelské jméno. Není nutné uvádět uživatelské jméno, vezme se ze souboru config. Platí i pro scp. -8- Použití https://wolf.ncbr.muni.cz » Interní část Aktuální přehled všech GUI sezení na klastru WOLF lze získat zde: K přihlášení použijte e-INFRA účet, který používáte k přihlašování na klastr WOLF. vncserver spouštějte nejdříve na neobsazených strojích (zeleně) a poté na strojích, kde běží méně instancí GUI sezení. -9Postup v kostce 1 2 1 spustíte vncserver na VZDÁLENÉM počítači (přes putty, ssh v Cygwin) 2 spustíte vncviewer na VAŠEM počítači (v Cygwin) -10- 1. Spuštění VNC serveru Následující příkazy se provádí v terminálu Cygwin, vncserver se spouští na vzdáleném stroji. 0. Ověřte • že máte platné krb5 lístky (klist) • případně je obnovte • buď MIT Kerberos for Windows (viz předchozí prezentace) • nebo v terminálu Cygwin příkazem kinit username@META 1. Přihlaste se na vzdálený stroj pomocí ssh, např. na uzel wolf02.ncbr.muni.cz 2. Aktivujte modul tigervnc 3. Spusťte VNC server s plnohodnotným Ubuntu GNOME nebo s odlehčeným desktopem JWM [mojePC]$ ssh wolf02.ncbr.muni.cz [wolf02]$ module add tigervnc [wolf02]$ vncserver --fullgui [wolf02]$ vncserver -11- 2. Spuštění VNC serveru - VNCID [kulhanek@wolf02 ~]$ vncserver >>> TigerVNC server started succesfully! Logs: ~/.vnc/wolf02.ncbr.muni.cz.1.startlog ~/.vnc/wolf02:1.log VNCID: kulhanek@wolf02.ncbr.muni.cz:1 pro diagnostiku případných problému identifikátor VNC sezeni Poznámky: • Po spuštění VNC serveru je možné ukončit ssh spojení na vzdálený stroj. • Není vhodné spouštět více VNC serverů. • Přehled běžících serverů je možné získat pomocí: $ vncserver -list • VNC server je možné explicitně ukončit (vncserver -kill , ID vypisuje volba -list). POZOR! veškerá neuložená práce však bude ztracena. -12- 2. Spuštění VNC prohlížeče Následující příkazy se provádí v terminálu Cygwin, vncviewer se spouští na vašem počítači. 0. Ověřte • že máte platné krb5 lístky (klist) • případně je obnovte • buď MIT Kerberos for Windows (viz předchozí prezentace) • nebo v terminálu Cygwin příkazem kinit username@META 1. Spusťte VNC prohlížeč. Jako argument použijte VNCID vypsaný při spuštění VNC serveru. [mojePC]$ vncviewer kulhanek@wolf02.ncbr.muni.cz:1 -13Ukončit vs Odpojit 1. K ukončení VNC serveru dojde při • odhlášení z desktopu (Gnome: Logout; JWM: Exit) • explicitním zabití serveru (vncserver -kill) - jako poslední možnost, protože může dojít ke ztrátě dat 2. K odpojení od VNC serveru dojde při • ztrátě síťového spojení • při zavření okna VNC prohlížeče 3. K obnově připojení je nutné opět spustit VNC prohlížeč se stejným VNCID serveru. VNC sezení vždy ukončíte po ukončení práce, abyste neblokovali zdroje jiným uživatelům. -14Ukončit vs Odpojit zavření okna vncviewer = odpojit odhlásit = ukončit ukončit VNC sezení vždy ukončíte po ukončení práce, abyste neblokovali zdroje jiným uživatelům. -15Ukázka Ubuntu desktop Spuštění VNC serveru, terminál je možné ukončit Spuštění VNC prohlížeče gimpVzdálená plocha Ubuntu GNOME desktop Vzdálená plocha Ubuntu GNOME desktop -16- Problémy 1. Správné umístění programu ssh v prostředí Cygwin je /usr/bin/ssh. 2. Antivirový systém může zablokovat ssh program z prostředí Cygwin. Tím se může zpřístupnit příkaz ssh z prostředí MS Windows (/cygdrive/c/WINDOWS/System32/OpenSSH/ssh), který však není možné použít. 3. Řešení: ➢ Používejte pouze standardní antivirové řešení MS Defender, ostatní antivirové systému odinstalujte. ➢ V antivirovém prostředí vytvořte výjimku pro program ssh z prostředí Cygwin, který umožní programu vytvářet síťové spojení. Petr Kulhánek@DESKTOP-272HMB1 ~ $ type ssh ssh je /usr/bin/ssh