Vzdálený přístup k Linuxu (Unixu) z MS Windows Nativní aplikace Putty, WinSCP, VcXsrv Virtualizace/Emulace Ubuntu VM WSL (Windows Support for Linux) VNC (vzdálená plocha) Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno -1-
-2- Nativní aplikace MS Windows příkazová řádka, (X-forward) Putty WinSCP kopírování/přesun souborů Vzdálený linuxový stroj VcXsrv GUI GUI ve všech případech se používá zabezpečený (šifrovaný) přenos dat
-3- Vzdálený přístup Putty Poznámky: Na vzdáleném stroji musí běžet ssh server (aktivuje správce, na klastru WOLF běží). Při prvním přihlášení je nutné potvrdit bezpečnostní otisk ssh serveru. Ve výchozím nastavení není možné spouštět grafické aplikace.
-4- Putty Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/ Implementace SSH (Secure Shell) pro Windows, která umožňuje vzdálené připojení k počítačům podporující tento protokol (převážně unixového typu).
-5- Putty nastavení adresa vzdáleného stroje Klastr WOLF: použijte uzly wolf02-wolf23 v doméně ncbr.muni.cz (např. wolf02.ncbr.muni.cz) Správné fungování klávesy backspace.
-6- Putty nastavení II selekce myší kompatibilní s Unixovými terminály neproporcionální písmo (všechny znaky mají stejnou šířku)
-7- Vzdálený přenos souborů WinSCP Poznámky: Na vzdáleném stroji musí běžet ssh server. Při prvním přihlášení je nutné potvrdit bezpečnostní otisk ssh serveru. Možné problémy s textovými soubory.
-8- WinSCP WinSCP http://winscp.net/eng/docs/lang:cs Program pro přenos souborů mezi MS Windows a počítači podporující SFTP či SCP protokoly (převážně unixového a linuxového typu). lokální stroj vzdálený stroj
Textové soubory MS Win Linux Textové soubory vytvořené pod MS Windows a Linuxem nejsou zcela kompatibilní, protože každý operační systém používá jiné kódování konce řádku. Linux: \n (line feed 0x0A) MS Windows: \r+\n (carriage return 0x0D, line feed 0x0A) Ke konverzi souborů lze použít programy d2u a u2d, které se pouští na klastru WOLF). 1) Aktivace modulu cats $ module add cats 2) Konverze MS Windows => Linux $ d2u soubor.com 3) Konverze Linux => MS Windows $ u2d soubor.log Doplňující informace: http://en.wikipedia.org/wiki/newline -9-
-10- X11-server VcXsrv
-11- VcXsrv VcXsrv https://sourceforge.net/projects/vcxsrv/ Program zajištující X11-server, který je nutný pro vzdálené či lokální spouštění grafických aplikací. 1. Nainstalujte program VcXsrv. 2. Spusťte program. Firewall: dostupnost omezte na privátní sít Při uložení konfigurace může být nutné znovu naklikat cestu k ploše uživatele, který má ve jméně diakritiku. 3. Pro spouštění grafických aplikaci ze vzdáleného stroje (tzv. export displeje) je nutné aktivovat X11 forwarding při navázání ssh spojení: 1. putty 1. návod viz následující strana 2. ssh 1. volba -X (velké X) 2. tato volba je použita automaticky, pokud je nainstalován baliček ncbr-sshclient-config
-12- VcXsrv + Putty 1. Pro spouštění grafických aplikaci přes Putty je nutné doplnit nastavení o X11 forwarding. lokální X11 server aktivace X11 forwarding
-13- Typický způsob práce 1. Spusťte X11-server, pokud plánujete spouštění grafických aplikací (nemesis, avogadro, vmd). X11-server je možné spustit pouze jednou, běh je indikován ikonou X v stavové liště. 2. V terminálu Putty se přihlaste na vzdálený stroj. Pro klastr WOLF používejte uzly wolf02-wol23 v doméně ncbr.muni.cz, např. wolf02.ncbr.muni.cz Terminálu můžete otevřít několik. Grafické aplikace spouštíte na vzdáleném stroji. K datům přistupujete přímo. Výpočty spouštíte na klastru za použití dávkového systému 3. Datová politika data držíte na klastru WOLF, není nutné je kopírovat do Win program WinSCP můžete použít pro zálohy či archivaci Nevýhody: pomalost/odezva grafických aplikací
-14- Ukázka Putty: spuštěna aplikace nemesis (na pozadí &) Aplikace nemesis běží na vzdáleném stroji wolf02 Putty: druhý terminál Přímá práce se soubory v domovém adresáři klastru WOLF
Alternativy Cygwin (https://www.cygwin.com/) MobaXterm (https://mobaxterm.mobatek.net/) -15-
-16- Virtualizace I MS Windows Lokální linuxový stroj (jako virtuální stroj) vzdálený přístup: ssh, scp volitelně vzdálené souborové systémy: nfs, sshfs Vzdálený linuxový stroj GUI GUI
-17- Ubuntu 18.04 (code name: bionic) http://www.ubuntu.com/ Virtuální stroj s Ubuntu Desktop VirtualBox, přístup přes ssh, instalace aplikací Poznámky: Hostitelský OS musí mít zapnutou podporu pro hardwarovou akceleraci virtualizace.
Virtualizace - Hypervisor Virtualizace jsou postupy a techniky, které umožňují k dostupným zdrojům přistupovat jiným způsobem, než jakým fyzicky existují. Virtualizovat lze na různých úrovních, od celého počítače (tzv. virtuální stroj), po jeho jednotlivé hardwarové komponenty (např. virtuální procesory, virtuální paměť atd.), případně pouze softwarové prostředí (virtualizace operačního systému). zdroj: www.wikipedia.org Hypervisor správce virtuálního strojů Hostující OS (ve virtuálním stroji) VirtualBox www.virtualbox.org Podporovaný hostitelský OS: MS Windows, Mac OS X, Linux Licence: freeware + proprietární rozšíření pro nekomerční použití OS 1 OS 2 Hypervisor Hostitelský OS Hardware OS 3-18-
-19- Instalace Ubuntu 18.04 LTS 1. Nainstalujte VirtualBox (https://www.virtualbox.org/) 2. Stáhněte ISO instalační obraz Ubuntu Desktop 18.04 LTS (64/32 bit podle verze MS Windows) z https://ubuntu.com/. 3. Vytvořte nový virtuální stroj (VM). V úvodní konfiguraci specifikujte Ubuntu 18.04. 4. Při prvním spuštění virtuálního stroje budete vyzváni k vložení instalačního média. Vedle výběru mechaniky je ikona, kterou můžete vybrat instalační ISO obraz. 5. Při instalaci OS Ubuntu použijte přihlašovací jméno, které je STEJNÉ jako na klastru WOLF (e-infra účet). Heslo ideálně stejné jako to, které používáte pro e-infra účet. Neaktivujte automatické přihlašování. Virtuální stroj má vlastní virtuální disk, proto použijte volbu využít celý disk. 6. Přihlaste se do virtuálního stroje s OS Ubuntu. 7. Zvolte (menu okna z VM): Devices -> Insert Guest Additions CD image 8. Spusťte instalaci Guest Additions. 9. Restartujte virtuální stroj.
-20- Aktivace Kerbera pro e-infra 1. Aktivujte si LCC repositář s doplňujícími balíčky pro OS Ubuntu: https://einfra.ncbr.muni.cz -> Uživatelská podpora -> Ubuntu balíčky Použijte: CEITEC MU/NCBR PUBLIC ze sekce Ubuntu 18.04 LTS Native Následujte instrukce uvedené v sekci Instructions. Aktivace se dělá pouze jednou. 2. Instalujte balíčky (C2115 Lekce 6): $ sudo apt-get install ncbr-krb5-einfra $ sudo apt-get install ncbr-ssh-client-config* volitelně $ sudo apt-get install ncbr-personal-authc-einfra** 3. Odhlaste se a znovu přihlaste ověřte, že máte vytvořené krb5 lístky příkazem klist $ klist 4. Lístky je možné ručně obnovit příkazem kinit *) aktivuje X-forwarding (C2110 Lekce 2) **) zajistí vytvoření krb5 lístku při přihlášení k lokálnímu účtu, pokud je aktivní sítové připojení přihlašovací jméno je e-infra bylo zadáno e-infra heslo v opačném případě se k ověření použije lokální účet
-21- Vzdálené datové NFSv4 úložiště 1. Musíte mít aktivovaný LCC repositář s doplňujícími balíčky pro OS Ubuntu 2. Instalujte balíčky (C2115 Lekce 10): $ sudo apt-get install ncbr-metanfs4-krb5i-wolf $ sudo apt-get install ncbr-metanfs4-keytab volitelně $ sudo apt-get install ncbr-metanfs4-krb5i-metastorages* 3. Vytvoření krb5 keytabu. Spusťte následující příkaz a řiďte se pokyny. $ gen-metanfs4-keytab 4. Virtuální stroj restartujte. 5. Přihlaste se. 6. Ověřte, že máte krb5 lístky (příkaz klist). 7. Změňte aktuální adresář na /storage/wolf/home/<vase_prihlasovaci_jmeno> 8. Měli byste vidět obsah vašeho domovského adresáře na klastru WOLF. Alternativně: Vzdálený přistup k souborům je možné zajistit pomocí programu Krusader (https://krusader.org/), který je možné instalovat pomocí standardního baličku: $ sudo apt-get install kio-extras krusader *) neinstalujte, pokud nemáte účet v MetaCentru
-22- Software pro modelování 1. Musíte mít aktivovaný LCC repositář s doplňujícími balíčky pro OS Ubuntu 2. Instalujte balíčky: $ sudo apt-get install nemesis $ sudo apt-get install openbabel $ sudo apt-get install avogadro 3. Program VMD je nutné instalovat manuálně: https://www.ks.uiuc.edu/research/vmd/
-23- Typický způsob práce 1. Spusťte virtuální stroj a přihlaste se. 2. Po přihlášení byste měli mít vytvořené krb5 lístky. Po dobu jejich platnosti (10 hodin) nemusíte zadávat hesla při přihlašování na vzdálené stroje v realmu META (klastr WOLF, MetaCentrum, apod.) a využívat datová úložiště připojované protokolem NFSv4. 3. Grafické aplikace spouštíte lokálně ve virtuálním stroji* k vzdáleným datům přistupujete přes adresář /storage data se tedy mezi vzdáleným a lokálním strojem ručně nekopírují 4. Na vzdálené stroje se přihlásíte příkazem ssh. Pro klastr WOLF používejte uzly wolf02- wol23 v doméně ncbr.muni.cz, např. wolf02.ncbr.muni.cz $ ssh wolf02.ncbr.muni.cz Terminálu můžete otevřít několik. Výpočty spouštíte na klastru za použití dávkového systému. 5. Datová politika data držíte na klastru WOLF, není nutné je kopírovat do virtuálního stroje *) grafické aplikace je možné spouštět i vzdáleně (vše funguje automaticky, transparentně), z důvodů rychlosti a odezvy se toto však nedoporučuje
-24- Ukázka Aplikace nemesis běží na lokálním stroji Lokální stroj. Program nemesis spuštěn na pozadí (&) Přihlášení na vzdálený stroj wolf02 pomocí příkazu ssh. Přímá práce se soubory v domovém adresáři klastru WOLF přes sdílený adresář /storage/wolf/home pro demonstrační účely rozdělené do samostatných oken, vhodnější je však používat záložky
Virtualizace II MS Windows vzdálený přístup: ssh, scp Lokální linuxový stroj (WSL Windows Support for Linux) volitelně vzdálené souborové systémy: nfs, sshfs Vzdálený linuxový stroj VcXsrv GUI GUI WSL nepodporuje* * podpora je chystaná do WSL2, který by měl být uvolněn v letošním roce -25-
-26- Instalace Ubuntu 18.04 LTS 1. Aktivujte WSL https://docs.microsoft.com/en-us/windows/wsl/install-win10 2. Nainstalujte Ubuntu 18.04 z Obchodu MS Při instalaci OS Ubuntu použijte přihlašovací jméno, které je STEJNÉ jako na klastru WOLF (e-infra účet). Heslo ideálně stejné jako to, které používáte pro e-infra účet. 3. WSL nepodporuje nativní běh grafických aplikací. Pro jejich spouštění musíte mít nainstalován X-server, např. VnXsrv (viz předchozí část prezentace). X-server se musí spustit dříve než terminál s Ubuntu. Toto omezení neplatí pokud máte instalovaný balíček ncbr-wsl-x11, který proměnou DISPLAY nastavuje (viz následující strana). Další čtení: https://ubuntu.com/wsl
-27- Aktivace Kerbera pro e-infra 1. Aktivujte si LCC repositář s doplňujícími balíčky pro OS Ubuntu: https://einfra.ncbr.muni.cz -> Uživatelská podpora -> Ubuntu balíčky Použijte: CEITEC MU/NCBR WSL ze sekce Ubuntu 18.04 LTS WSL Následujte instrukce uvedené v sekci Instructions. Aktivace se dělá pouze jednou. 2. Instalujte balíčky (C2115 Lekce 6): $ sudo apt-get install ncbr-krb5-einfra $ sudo apt-get install ncbr-ssh-client-config* $ sudo apt-get install ncbr-wsl-x11 volitelně $ sudo apt-get install ncbr-personal-authc-einfra** 3. Lístky je nutné vytvářit příkazem kinit po otevření terminálu. $ kinit *) aktivuje X-forwarding (C2110 Lekce 2), je nutné spustit lokální X-server (napr. VnXsrv) **) není podporováno v prostředí WSL
-28- Vzdálené datové úložiště 1. Vzdálený přistup k souborům je možné zajistit pomocí programu Krusader (https://krusader.org/), který je dostupný pomocí standardního baličku: $ sudo apt-get install kio-extras krusader 2. Ověřte, že máte krb5 lístky (příkaz klist), případně je vytvořte příkazem kinit. 3. Spusťte program krusader $ krusader 4. Vytvořte vzdálené připojení: Tools > New net connections Protocol: sftp:// Host: wolf.ncbr.muni.cz Username: vase e-infra přihlašovací jméno Heslo: nezadávejte (použije se krb5 lístek)
-29- Software pro modelování 1. Musíte mít aktivovaný LCC repositář s doplňujícími balíčky pro OS Ubuntu 2. Instalujte balíčky: $ sudo apt-get install nemesis $ sudo apt-get install openbabel $ sudo apt-get install avogadro 3. Program VMD je nutné instalovat manuálně: https://www.ks.uiuc.edu/research/vmd/
-30- Typický způsob práce 1. Spusťte X11-server, pokud plánujete spouštění grafických aplikací (nemesis, avogadro, vmd). X11-server je možné spustit pouze jednou, běh je indikován ikonou X v stavové liště. 2. Otevřete terminál Ubuntu a vytvořte krb5 lístky příkazem kinit. Po dobu jejich platnosti (10 hodin) nemusíte zadávat hesla při přihlašování na vzdálené stroje v realmu META (klastr WOLF, MetaCentrum, apod.). 3. Grafické aplikace spouštíte lokálně v terminálu Ubuntu* zobrazovaná data je nutné nakopírovat ze vzdáleného stroj pomocí příkazů scp, sft, nebo pomocí programu krusader 4. Na vzdálené stroje se přihlásíte příkazem ssh z terminálu Ubuntu. Pro klastr WOLF používejte uzly wolf02-wol23 v doméně ncbr.muni.cz, např. wolf02.ncbr.muni.cz $ ssh wolf02.ncbr.muni.cz Terminálu můžete otevřít několik. Výpočty spouštíte na klastru za použití dávkového systému. 5. Datová politika data je nutné kopírovat mezi lokálním a vzdáleným strojem *) grafické aplikace je možné spouštět i vzdáleně (vše funguje automaticky, transparentně), z důvodů rychlosti a odezvy se toto však nedoporučuje
-31- Ukázka Ubuntu Terminál: spuštěna aplikace nemesis (na popředí) Aplikace nemesis na lokálním stroji Ubuntu Terminál: druhý terminál Soubory na lokálním stroji. Data ze vzdáleného stroje je nutné přenést ručně: scp, sftp krusader
-32- VNC MS Windows ssh tunnel firewall unixový soket Lokální linuxový stroj (jako virtuální stroj) vncviewer DESKTOP Vzdálený linuxový stroj vncserver DESKTOP TCP port >= 5900
-33- 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, pokud jej uživatel chce řešit ve vlastní režii. 3. Významné usnadnění použití VNC přináší upravené programy vncserver a vceviewer: 1. vcserver 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 2. vncviever 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
-34- Instalace VNC klienta Do WSL Ubuntu, VirtualBox Ubuntu, či plnohodnotné Ubuntu 18.04 LTS verze je možné VNC nainstalovat pomocí balíčku ncbr-tigervnc. 0. Předpokládá se, ze máte aktivovaný LCC repositář s doplňujícími balíčky pro OS Ubuntu, podle typu provozu Ubuntu viz předchozí návody. 1. Instalujte balíček: $ sudo apt-get install ncbr-tigervnc
-35- Spuštění VNC serveru 0. Ověřte (viz předchozí návody) že máte platné krb5 lístky příkazem klist a případně je obnovte příkazem kinit na vzdálený stroj je možné se přihlásit bez hesla 1. Přihlaste se na vzdálený stroj pomocí ssh, např. na uzel wolf02.ncbr.muni.cz $ ssh wolf02.ncbr.muni.cz 2. Aktivujte modul tigervnc [wolf02]$ module add tigervnc 3. Spusťte VNC server s odlehčeným desktopem JWM [wolf02]$ vncserver nebo s plnohodnotným Ubuntu GNOME [wolf02]$ vncserver --fullgui
-36- Spuštění VNC serveru [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>). POZOR! veškerá neuložená práce však bude ztracena.
-37- Spuštění VNC prohlížeče 0. Ověřte (viz předchozí návody) že máte platné krb5 lístky příkazem klist a případně je obnovte příkazem kinit na vzdálený stroj je možné se přihlásit bez hesla u Ubuntu WSL musíte mít spuštěný X11 server 1. Spusťte VNC prohlížeč. Jako argument použijte VNCID vypsané při spuštění VNC serveru. $ vncviever kulhanek@wolf02.ncbr.muni.cz:1
-38- Ukázka JWM desktop Vzdálená plocha JWM desktop Spuštění VNC serveru, terminál je možné ukončit Aplikace nemesis běží na vzdáleném stroji wolf02 terminál na vzdáleném stroji Spuštění VNC prohlížeče Přímá práce se soubory v domovém adresáři klastru WOLF
-39- Ukázka Ubuntu desktop Spuštění VNC serveru, terminál je možné ukončit terminál na vzdáleném stroji Aplikace nemesis běží na vzdáleném stroji wolf02 Spuštění VNC prohlížeče Vzdálená plocha Ubuntu GNOME desktop Přímá práce se soubory v domovém adresáři klastru WOLF
-40- Odpojit vs Ukončit 1. K odpojení od VNC serveru dojde při ztrátě síťového spojení při zavření okna VNC prohlížeče 2. K obnově připojení je nutné opět spustit VNC prohlížeč se stejným VNCID serveru. 3. K ukončení VNC serveru dojde při odhlášení z desktopu (Gnome: Logout; JWM: Exit) explicitním zabití serveru (vncserver -kill)