Difference between revisions of "Vzdálený přístup do laboratoří"

From DCEwiki
Jump to: navigation, search
m (Použití strojů s disklessovým linuxem)
m
Line 1: Line 1:
Pro zajištění vzdáleného přístupu na laboratorní stroje existují tyto stroje:
+
__TOC__
 +
Vzdálený přístup k laboratorním strojům v budově FEL ČVUT na Karlově náměstí je možný v rámci laboratoří Katedry kybernetiky (DC) a Katedry řídicí techniky (DCE).
  
; [[turtle|turtle.felk.cvut.cz]] : Pro přístup na laboratorní stroje Katedry kybernetiky (DC)
+
Využívají se pro tento účel dva virtuální stroje, přes které lze laboratorní stroje na dálku spouštět, a zároveň je využít jako ssh proxy pro přístup do systému laboratorního stroje. 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''' – <code>xxx</code>
; [[postel|postel.felk.cvut.cz]] : Pro přístup na laboratorní stroje Katedry řídicí techniky (DCE)
 
  
Tyto stroje používají speciální vrstvu, ve které je vytvořen ssh jail se skriptem, který po ověření generického uživatele '''student''' vybere na základě volby uživatele ze zvolené laboratoře fyzický laboratorní stroj, na kterého přihlásí uživatele přes '''ssh'''.
+
~$ ssh student@turtle.felk.cvut.cz
 +
student@turtle.felk.cvut.cz's password:
 +
Write your CVUT login please:
 +
  
Na laboratorní stroje DCE (Katedra řídicí techniky) s disklessovým linuxem lze přistupovat prostřednictvím stroje [[postel]] přes SSH.
+
Po přihlášení generického uživatele '''student''' se automaticky spouští skript, který se vás zeptá na vaše uživatelské jméno pro ČVUT. Dále bude pokračovat jen v případě, že pro vaše uživatelské jméno dostane ID.
  
Obdobným způsobem lze přistupovat prostřednictvím stroje [[turtle]] i na labratorní stroje DC (Katedra kybernetiky), pouze s tím rozdílem, že je nutné nejprve nastavit laboratorní heslo.
+
Po ověření vašeho uživatelského jména se vás skript zeptá, ve které laboratoři budete chtít pracovat. Tato nabídka se je pro každou katedru jiná.
  
Uživatel se přihlašuje svým ČVUT username. Rozdíl je pouze v tom, že pro laboratoře Katedry řídicí techniky (DCE) se používá hlavní heslo ČVUT (přístup přes [[postel]]), kdežto pro laboratoře Katedry kybernetiky (DC) si musí uživatel nastaveit laboratorní heslo, přes stránku, na kterou se dostane z portálu https://felk.cvut.cz když klikne na laboratoře ...
+
; [[turtle|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 [[TurtleBot]]y (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|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ů)
  
{{Pozor|Pro první přihlášení použijte generického uživatele student, který vám přidělí fyzický laboratorní počítač, který si musíte (pokud neběží) nastartovat.
+
Poté co zvolíte laboratoř, se z jejího seznamu strojů vybere ten co je na řadě, a pokud zrovna běží, tak se vám rovnou objeví přihlašovací dialog přes který se můžete na přidělený stroj přihlásit.
  
Pak již můžete přistupovat přes SSH tunel rovnou přes ''hostname'' či IP adresu přiděleného stroje.}}
+
Pokud hodláte na přiděleném stroji pracovat delší dobu, nebo budete chtít využít vzdálenou plochu, nemusíte ihned pokračovat v připojení. '''Poznamenejte si jeho hostname''', a připojení můžete ukončit. Pokud běží, tak se na něj dostanete čistě přes svůj ČVUT username.
  
{{Poznámka|
+
{{Poznámka|Při opakovaném přihlášení na generického uživatele '''student''' by se se vám nabídnul ke spuštění 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é.}}
=== Práce přes terminál ===
 
Pokud uživateli stačí práce na terminálové konzoli, může požít buď '''screen''' nebo '''tmux'''.  
 
}}
 
  
Během přihlášení přes uživatele '''student''' se stroje přidělují na základě seznamu strojů tak, aby se pokud možno rovnoměrně využívaly všechny stroje v laboratoři. Po odhlášení, nebo ukončení sezení se stroj opět vrátí na seznam. Cílem je předejít situaci, že se všichni uživatelé budou hlásit pouze na jeden či dva stroje, zatím co ostatní stroje zůstanou nevytížené.
+
== Přihlašovací heslo ==
  
{{Poznámka|Pokud je některý laboratorní stroj zrovna vypnutý, či nedostupný, je z tohoto seznamu vyřazen. Stačí se na uživatele '''student''' přihlásit znovu a bude ze seznamu přidělen stroj jiný.}}
+
K přihlašování na laboratorní stroje DCE (Katedra řídicí techniky) – přes stroj [[postel|postel.felk.cvut.cz]] – se používá hlavní heslo ČVUT.
  
=== Laboratorní desktop ===
+
Pro přihlášení na labratorní stroje DC (Katedra kybernetiky) – přes stroj [[turtle|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 ...
Pokud uživatel přidá parametr "-X" (resp. "-Y"), může skrz ssh připojení protáhnout také okna aplikací, co používají GUI.
 
  
Protáhnout lze i celý desktop. A je k tomu několik cest.
+
== 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'''.
  
{{Poznámka|Aby mohli tímto způsobem přistupovat k aplikacím uživatelé MS Windows, musí mít nainstalovaný X server. Proto doporučuji využít raději Xspice, pro který existují klientské aplikace jak pro MS Windows, tak pro Mac OS X, Linux i Android.}}
+
== 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.
  
==== XPRA ====
+
Proto je mnohem lepší nahodit laboratorní desktop a použít klientskou aplikaci, jak popisuji v následující části.
'''Nejjednodušší''' je použít aplikaci ''Xpra''.
 
  
https://xpra.org/trac/wiki/Download
+
== Laboratorní desktop ==
https://winswitch.org/downloads/
+
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.
  
; MS Windows : https://xpra.org/trac/wiki/Download
+
* 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.
; Mac OS X : https://xpra.org/trac/wiki/Download
+
* 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.
; Android : https://android-apk.org/cc.snapp.app_xpra/
+
* 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í.
  
==== Spice ====
+
Rozdíl je pouze v tom, jakým způsobem se na jejich vzdálenou plochu dostanete.
'''Nejefektivnější''' je použít ''Xspice''
 
  
Výhodou je, že spuštěná plocha X serveru běží na pozadí, takže na ní lze mít rozdělanou práci a připojit se podle potřeby.
+
=== Xspice ===
  
Xspice používá virtuální akcelerovanou grafiku, takže podporuje do určité míry i 3D akceleraci a umožňuje měnit za běhu parametry připojení.
+
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'''.
  
===== X spice server =====
+
{{Příklad|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 '''screen'''u:
Spuštění Xspice serveru je jednoduché. Ideální je využít '''screen''' nebo '''tmux''', aby server mohl běžet na pozadí.
 
  
 
  username@k23-177:~$ screen -d -m /usr/bin/Xspice --password heslo --xsession /usr/bin/xfce4-session :1
 
  username@k23-177:~$ screen -d -m /usr/bin/Xspice --password heslo --xsession /usr/bin/xfce4-session :1
 +
}}
  
===== ssh tunel =====
+
==== 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.
  
Abyste se dostali na spuštěný Xspice server, musíte mít nahozený na stroji [[postel]] ssh tunel.
+
{{Příklad|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 <code>k23-177</code>:
  
 
  notebook:~$ ssh -fN -L 5900:k23-177:5900 username@postel.felk.cvut.cz
 
  notebook:~$ ssh -fN -L 5900:k23-177:5900 username@postel.felk.cvut.cz
 +
}}
  
Tunel nemusí běžet pořád. Můžete si ho nahodit jen když budete chtít se svou vzdálenou plochou pracovat.
+
==== Klientské aplikace pro spice protokol ====
 
 
===== spice klient =====
 
  
; 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:
+
:; 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
 
  ~$ spicec -h localhost -p 5900 -w heslo
Line 70: Line 74:
 
  ~$ spicy -h localhost -p 5900 -w heslo
 
  ~$ spicy -h localhost -p 5900 -w heslo
  
; MS Windows : V prostředí MS Windows lze použít [https://virt-manager.org/download/ virt-viewer] a k protunelování [https://www.putty.org/ putty]
+
:; MS Windows : V prostředí MS Windows lze použít [https://virt-manager.org/download/ virt-viewer] a k protunelování [https://www.putty.org/ putty]
; Mac OS X : V prostředí Mac OS X by měl být použitelný [https://rizvir.com/articles/ovirt-mac-console/ Remote Viewer] (hledej v adresáři dmg) viz také info [https://people.freedesktop.org/~teuf/spice-gtk-osx/ zde]
+
:; Mac OS X : V prostředí Mac OS X by měl být použitelný [https://rizvir.com/articles/ovirt-mac-console/ Remote Viewer] (hledej v adresáři dmg) viz také info [https://people.freedesktop.org/~teuf/spice-gtk-osx/ zde]
; Android : Pro Android existuje na google play [https://play.google.com/store/apps/details?id=com.iiordanov.freeaSPICE&hl=en_US aSPICE], ovšem nemám zkušenost s nastavením tunelování portu.
+
:; Android : Pro Android existuje na google play [https://play.google.com/store/apps/details?id=com.iiordanov.freeaSPICE&hl=en_US 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/
 +
 
  
 
== Použití strojů s MS Windows ==
 
== Použití strojů s MS Windows ==

Revision as of 11:55, 5 April 2020

Vzdálený přístup k laboratorním strojům v budově FEL ČVUT na Karlově náměstí je možný v rámci laboratoří Katedry kybernetiky (DC) a Katedry řídicí techniky (DCE).

Využívají se pro tento účel dva virtuální stroje, přes které lze laboratorní stroje na dálku spouštět, a zároveň je využít jako ssh proxy pro přístup do systému laboratorního stroje. 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 guestxxx

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

Po přihlášení generického uživatele student se automaticky spouští skript, který se vás zeptá na vaše uživatelské jméno pro ČVUT. Dále bude pokračovat jen v případě, že pro vaše uživatelské jméno dostane ID.

Po ověření vašeho uživatelského jména se vás skript zeptá, ve které laboratoři budete chtít pracovat. Tato nabídka se 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ě, a pokud zrovna běží, tak se vám rovnou objeví přihlašovací dialog přes který se můžete na přidělený stroj přihlásit.

Pokud hodláte na přiděleném stroji pracovat delší dobu, nebo budete chtít využít vzdálenou plochu, nemusíte ihned pokračovat v připojení. Poznamenejte si jeho hostname, a připojení můžete ukončit. Pokud běží, tak se na něj dostanete čistě přes svůj ČVUT username.

Poznámka Při opakovaném přihlášení na generického uživatele student by se se vám nabídnul ke spuštění 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/


Použití strojů s MS Windows

Laboratorní stroje s MS Windows jsou 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.

Nicméně do budoucna lze zpřístupnit jejich plochu přes RDP, tunelované podobným způsobem, jako když chcete přistupovat na plochu Xspice.