Vzdálený přístup do laboratoří

From DCEwiki
Revision as of 14:43, 6 April 2020 by Keny (talk | contribs)
Jump to: navigation, search
Aby byla možná práce na laboratorních počítačích s disklessovým linuxem používaných v laboratořích Katedry kybernetiky (DC) a Katedry řídicí techniky (DCE) budově E na Karlově náměstí, byly pro tento účel upraveny dva virtuální stroje, které se původně používaly pouze k testování disklessové instalace. Jejich prostřednictvím lze nyní na dálku laboratorní stroje spouštět. A zároveň je využívat jako ssh proxy pro vzdálený přístup.


Pro nahození (a přidělení) laboratorní pracovní stanice je třeba se přihlásit jako generický uživatel student, který používá stejné heslo jako dočasný uživatel guest[1]xxx

~$ ssh student@turtle.felk.cvut.cz
student@turtle.felk.cvut.cz's password: 
Write your CVUT login please:

Poznámka Po ověření generického uživatele student se automaticky spouští skript, který se ptá na uživatelské jméno pro ČVUT. A dál pokračuje jen pokud se mu pro uvedené uživatelské jméno podaří získat ID.
Upozornění Na strojích postel a turtle běží poměrně striktně nastavený démon fail2ban. Pokud vyhodnotí vaši aktivitu jako pokus o útok, bude pro vaši IP adresu na 24 hodin zablokována veškerá síťová komunikace. Proto bylo, zcela záměrně, zvoleno pro generického uživatele tak jednoduché heslo.

Po ověření vašeho uživatelského jména se vás skript zeptá, ve které laboratoři chcete pracovat. Tato nabídka je pro každou katedru jiná.

turtle.felk.cvut.cz 
Obsluhuje tři počítačové laboratoře Katedry kybernetiky (DC):
Lab E:130 – je laboratoř na prvním podlaží, kde se pracuje s TurtleBoty (7 strojů)
Lab E:132 – druhá laboratoř na prvním podlaží (30 strojů)
Lab E:230 – je laboratoř na druhém podlaží, kde se spouštějí virtuální stroje přes VMware (30 strojů)
postel.felk.cvut.cz 
Obsluhuje počítačové laboratoře Katedry řídicí techniky (DCE). V současné době jde pouze o jednu laboratoř:
Lab E:23 – laboratoř v přízemí naproti výtahu (20 strojů)

Poté co zvolíte laboratoř, se z jejího seznamu strojů vybere ten co je na řadě. Pokud zrovna poběží, tak se vám rovnou objeví přihlašovací dialog, přes který se na něj můžete přihlásit.

Pokud na něm hodláte pracovat delší dobu, nebo si na něm budete chtít spustit vzdálenou plochu, nemusíte ihned pokračovat v připojení. Poznamenejte si jeho hostname, a spojení můžete ukončit. Dokud stroj poběží, tak se na něj můžete přihlašovat přes svůj ČVUT username.

Stejně tak se můžete přes své uživatelské jméno ČVUT rovnou přihlásit na stroj turtle, nebo postel, na kterých běží v podstatě stejný systém jako na laboratorních strojích. Ovšem mají určitá omezení. A protože jde především o servisní virtuální stroje, mohou občas projít bez varování restartem.

Poznámka Při opakovaném přihlášení na generického uživatele student se vám nabídne ke spuštění automaticky další stroj v pořadí. Což můžete chtít, ale taky nemusíte. Cílem je, zajistit rovnoměrné využití laboratorních strojů a předejít situaci, kdy by se uživatelé koncentrovali pouze na jednom či dvou strojích, zatím co ostatní stroje zůstanou nevyužité.

Přihlašovací heslo

K přihlašování na laboratorní stroje DCE (Katedra řídicí techniky) – přes stroj postel.felk.cvut.cz – se používá hlavní heslo ČVUT.

Pro přihlášení na labratorní stroje DC (Katedra kybernetiky) – přes stroj turtle.felk.cvut.cz – se používá laboratorní heslo, které si musíte nejprve nastavit přes stránku, na kterou se dostane z portálu https://felk.cvut.cz když klikne na laboratoře ...

Práce na terminálu

Pokud vám k vaší práci na vzdáleném stroji staší pouze terminálová konzole, můžete požít buď screen nebo tmux.

Aplikace s GUI

Pokud předáte ssh parametr "-X" (resp. "-Y"), může skrz ssh připojení protáhnout také okna aplikací, které používají GUI. Ovšem k tomu je nutné, mít spuštěný X server, který by si však uživatelé MS Windows museli doinstalovat.

Proto je mnohem lepší nahodit laboratorní desktop a použít klientskou aplikaci, jak popisuji v následující části.

Laboratorní desktop

Jsou dvě možné cesty, jimiž se můžete dostat k ploše laboratorního počítače, proto abych uživatelům maximálně zjednodušil nahození virtuálního desktopu, jsem vytvořil jednoduchý wrapper remote-desktop přes který si můžete vzdálenou plochu nastartovat, i shodit.

  • Spuštěná plocha X serveru běží na pozadí, takže na ní můžete mít rozdělanou práci a připojovat se podle potřeby.
  • Jak Xpra, tak Xspice podporují virtuální akcelerovanou grafiku, takže lze používat na vzdálené ploše i aplikace, které vyžadují 3D akceleraci.
  • V obou případech jsou k dispozici klientské aplikace nejenom pro Linux, ale i MS Windows, Mac OS i Android, které umožňují operativně měnit parametry podle kvality vašeho připojení.

Rozdíl je pouze v tom, jakým způsobem se na jejich vzdálenou plochu dostanete.

Xspice

Xspice server používá pro soje přenosy spice protokol a všechno tlačí kanálem, který čeká na zvoleném TCP portu (ve výchozím stavu 5900). Pokud nepoužijete nohup zůstane běžet na popředí. Abyste ho mohli nechat běžet na pozadí, musíte použít screen nebo tmux.

Poznámka Následující ukázkový příklad demonstruje, jak lze jedním příkazem spustit Xspice, tak aby běžel rovnou v okně odpojeného screenu:
username@k23-177:~$ screen -d -m /usr/bin/Xspice --password heslo --xsession /usr/bin/xfce4-session :1

ssh tunel

Abyste se na spuštěný Xspice server dostali zvenčí, musíte na svém lokálním stroji nahodit ssh tunel, kterým se přes stroj turtle, nebo postel dostanete na port laboratorního stroje, na kterém čeká na vaše připojení. SSH tunel nemusíte mít spuštěný pořád. Můžete si ho nahodit podle potřeby, jen když budete chtít se svou vzdálenou plochou pracovat. Tunelů můžete mít spuštěných i více, na různé porty. Například si můžete tímto způsobem tunelovat ssh připojení a rovnou se přihlašovat na konzoli vzdáleného stroje.

Poznámka Toto je ukázkový příklad ssh tunelu, kterým bych přistupoval na Xspice server spuštěný výše uvedeným příkazem na stroji k23-177:
notebook:~$ ssh -fN -L 5900:k23-177:5900 username@postel.felk.cvut.cz

Klientské aplikace pro spice protokol

Linux 
Můžete použít buď spicec (klient spouštěný z příkazové řádky), nebo spicy (GTK klient s GUI). K protunelování spojení lze použít ssh na konzoli. Viz použití spicec a spicy z příkazového řádku:
~$ spicec -h localhost -p 5900 -w heslo
~$ spicy -h localhost -p 5900 -w heslo
MS Windows 
V prostředí MS Windows lze použít virt-viewer a k protunelování putty
Mac OS X 
V prostředí Mac OS X by měl být použitelný Remote Viewer (hledej v adresáři dmg) viz také info zde
Android 
Pro Android existuje na google play aSPICE, ovšem nemám zkušenost s nastavením tunelování portu.

Xpra

https://xpra.org/trac/wiki/Download https://winswitch.org/downloads/

MS Windows 
https://xpra.org/trac/wiki/Download
Mac OS X 
https://xpra.org/trac/wiki/Download
Android 
https://android-apk.org/cc.snapp.app_xpra/


Přístup na stroje s MS Windows

Laboratorní stroje s MS Windows se vyskytují pouze v rámci infrastruktury Katedry řídicí techniky.

Prozatím na ně není vzdálený přístup není. Přesněji řečeno byl by, ale pouze přes SSH. Prozatím nebylo rozhodnuto, jakým způsobem s nimi bude možné pracovat. Jednou z možností je zpřístupnit jejich plochu přes RDP, tunelované podobným způsobem, jako když chcete přistupovat na disklessový laboratorní desktop.

Ovšem, s největší pravděpodobností se využije pro práci s aplikacemi pro MS Windows Citrix.


  1. Generický uživatel guest je povolen pouze v rámci lokální sítě. Z vnějšku se na něj nedá přihlásit přes SSH.