Search
Hlavním nástrojem pro vzdálený přístup do školy je v rámci předmětu APO protokol SSH (Secure Shell), který zajišťuje zabezpečený přístup ke vzdálené příkazové řádce, přenos souborů ale i možnost spuštění vzdálených grafických aplikací. Na UNIX-like systémech včetně GNU/Linux nebo Mac můžete využít stejnojmenného programu ssh. Na OS Windows pak doporučujeme program Putty
ssh
Pomocí obou nástrojů je možné se připojit k serveru postel.felk.cvut.cz, na kterém se nacházejí nástroje pro klasickou i křížovou kompilaci, je zde k dispozici simulátor QtMips a jsou zde také uložené zdrojové kódy k ukázkám napříč cvičeními.
postel.felk.cvut.cz
Pro přenos souborů lze pak použít protokol SCP případně jiné klienty podporující SCP/SFTP protokol.
Pomocí programu ssh se k serveru připojíte s využitím vašeho ČVUT loginu a ČVUT Hesla následujícím příkazem:
ssh vas_login@postel.felk.cvut.cz
V případě velké vytíženosti serveru nebo pokud plánujete spouštět náročnější úlohy, nepoužívejte přímo bránu pro vzdálený přístup (virtuální server postel), ale spusťte si některý z počítačů v laboratoři. K napojení přístupu na počítač slouží na bráně konto student s generickým heslem xxx.
postel
student
xxx
ssh student@postel.felk.cvut.cz
Poté budete vyzváni k uvedení Vašeho uživatelského jména a výběru laboratoře, ze které Vám bude nabídnutý aktuálně nejméně vytížený stroj. Více na stránce Vzdálený přístup do laboratoří IT Oddělení K13135
Bezpečnější a rychleší volba než používání hesla je použití SSH klíče. Jeho veřejná část musí být k dispozici na cílovém serveru a spárována s vašim účtem. Soukromá část pak musí být držena v tajnosti a neměla by opustit Vás počítač/počítače. K přistupu na postel.felk.cvut.cz můžete využít svůj stávající klíč nebo si vygenerovat klíč nový.
Obě součásti jednoho klíče si vygenerujete příkazem:
ssh-keygen
Vzhledem k tomu, že příkaz může defautně vygenerovat pouze 2048 bitové RSA, doporučuje autor tohoto článku použít moderní eliptickou křivku pomocí příkazu
ssh-keygen -t ed25519
Nebo alespoň 4096 bit RSA pomocí:
ssh-keygen -b 4096
Všechny varianty příkazu se Vás zeptají na 2 otázky:
~/.ssh/
Symbol ~ je zkratka pro Váš domácí adresář. Obě části klíče tedy máte ve vychozím nastavení uložené do složky .ssh ve svém domácím adresáři.
~
.ssh
Nyní můžete veřejnou část klíče přesunout na server a spárovat se svým účtem příkazem:
ssh-copy-id vas_login@postel.felk.cvut.cz
Nástroje okolo SSH hledají klíče standartně v adresáři ~/.ssh/. Pokud jste při tvorbě klíče zvolili jiný soubor v jiném adresáři, můžete ho definovat pomocí přepínače -i: (je jedno, jestli veřejnou nebo privátní část - program vždy odešle tu správnou)
-i
ssh-copy-id -i cesta/k/souboru/s/klicem vas_login@postel.felk.cvut.cz
Od této chvíle by mělo být (až na vyjímky zpusobené kontrolou, zda jste stále studentem) možné se na server přihlašovat bez ČVUT hesla, jen s pomocí SSH klíče.
Pokud jste klíč z nějakého důvodu uložili na nestandartní místo, nestandartně pojmenovali nebo používáte jiný, speciální klíč, je nutné při připojení zadat plnou cestu ke klíč pomocí přepínače -i:
ssh -i cesta/k/souboru/s/klicem vas_login@postel.felk.cvut.cz
Pokud jste si při tvorbě klíče zvolili heslo, musíte ho ve výchozím stavu zadat pokaždé když klíč použijete při připojení ke vzdálenému serveru. Pokud se k serveru připojujete často, může to být poněkud otravné. Abyste heslo nemuseli zadávat vždy, můžete si klíč v rámci svého počítače dočasně bezpečně nahrát do SSH agenta. Heslo tedy zadáte jen při nahrání klíče do agenta a pokaždé, kdy je pak potřeba, se použije již to dešifrované. Dešifrovaný klíč se z agenta odstraní při jeho ukončení, tedy například při vypnutí počítače.
Klíče z výchozího adresáře ~/.ssh/ do agenta nahrajete příkazem:
ssh-add
Případně specifikujete cestu ke klíči:
ssh-add cesta/k/souboru/s/klicem
Příkazem ssh-add -l pak zjistíte, jaké klíče máte v agentovi momentálně nahrané.
ssh-add -l
Pokud by výše zmíněné příkazy (ssh-add…) nefungovaly a hlásily chyby typu:
Could not open a connection to your authentication agent
je třeba agenta zapnout. Tohle se stává častěji při použití windows subsystem for Linux. Agenta zapnete pomocí:
eval `ssh-agent -s`
SSH klíč můžete kromě přístupu na server postel.felk.cvut.cz použít i například k přístupu ke školnímu GITu - viz. návod jak přidat osobní SSH klíč ke školnímu GITu (do gitlabu).
Pokud máte svůj SSH klíč nahraný v SSH agentovi, můžete pak agenta “forwardovat” i při SSH spojení do školy (nebo jinam) pomocí přepínače -A:
-A
ssh -A vas_login@postel.felk.cvut.cz
Pokud jste svůj osobní SSH klíč přidali i ke školnímu GITu, můžete tak s forwardovaným agentem klonovat a jinak používat své školní GITové repozitáře i ze serveru postel.
SSH klíč je také možné použít pro přístup k deskám MZ_APO, které jsou součástí semestrální práce zadané ve druhé půlce semestru. K přístupu k deskám však nemůžete použít svůj osobní SSH klíč (vygenerovaný pomoci ssh-keygen) ale pouze SSH klíč uložený na serveru postel v souboru /opt/zynq/ssh-connect/mzapo-root-key. Tento klíč je tedy na serveru postel také možné nahrát do SSH agenta:
/opt/zynq/ssh-connect/mzapo-root-key
ssh-add /opt/zynq/ssh-connect/mzapo-root-key
Klíč je možné do SSH agenta nahrát pouze pokud je aktivní, to znamená že jste například při připojování k serveru použili v příkazu SSH parametr -A. Více informací o přístupu k deskám MZ_APO najdete v Nápovědě k práci s přípravkem MicroZed APO.
SSH
Klíč pro přístup k deskám si můžete zkopírovat i do svého počítače - např. nástrojem secure copy - scp, který také využívá protokol SSH:
secure copy
scp
scp vas_login@postel.felk.cvut.cz:/opt/zynq/ssh-connect/mzapo-root-key .
Autor tohoto článku například obvykle pracuje tak, že si po zapnutí svého počítače nahraje do SSH agenta své osobní klíče a například i klíč pro přístup k deskám MZ_APO. Agenta pak forwarduje i při připojení do školy. Nemusí tak řešit zadávání hesel při přístupech přes SSH do školy, ke školnímu GITu nebo při nahrávání programu do zmíněných desek. Více informací o tom, jak klíč pro přístup k deskám stáhnout a nastavit mu správná práva najdete zde.
Celé vaše uživatelské konto na serveru postel.felk.cvut.cz je možné si namapovat na lokální adresář ve vašem GNU/Linux systému přes utilitu sshfs. Budete k tomu potřebovat pouze prázdný lokání adresář. Celé spojení je na bázi SSH, využijete k němu tedy ty stejné přihlašovací údaje nebo klíče jako v klasickém SSH spojení.
Před prvním spojením je vhodné si připravit prázdnou složku například v domácím adresáři:
mkdir remote_home
Pak lokální složku napojíte na domácí složku na vzdáleném serveru:
sshfs vas_login@postel.felk.cvut.cz: remote_home
Odpojení konta se dá provést příkazem:
fusermount -u remote_home
Grafické aplikace přímo na serveru postel.felk.cvut.cz pouštějte jen, pokud se jedná o nějakou drobnost - například pro vyzkoušení. Ze systémů podporujících standardizovaný protokol X-windows (nebo při použití jeho emulátoru) je možné vzdáleně spustit grafickou aplikaci tak, aby se její grafický výstup přesměroval na váš monitor. Při spuštěním SSH relace se o protunelování grafického protokolu požádá parametrem -X(velké X) přidaným k příkazu ssh. Následně můžete pomocí SSH pustit grafickou aplikaci na vzdáleném serveru (například simulátor QtMips) a okno se zobrazí u vás na monitoru.
-X
ssh -X vas_login@postel.felk.cvut.cz
Spuštění simulátoru:
qtmips_gui
K provozu vzdálené grafické aplikace je třeba poměrně dobré internetové spojení se školním serverem. Spolehlivější variantou je tedy mít simulátor nainstalovaný u sebe na počítači.
Pro jakékoliv aplikace zatěžující vzdálený počítač je ale doporučený postup spuštění některého počítače ve studentských laboratořích - viz. úvod této stránky.
Alternativní možnosti, které jsou šetrnější k šířce pásma dat pro relaci GUI a které je možné použít ze strany systémů, které obvyklé standardy nepodporují (Windows), jsou protokoly xpra a spice. Pro jejich využití si vždy musíte pustit jeden z počítačů v laboratořích a nepoužívat bránu pro přístup (server postel.felk.cvut.cz).
xpra
spice
K přístupu přes xpra nainstalujte balíček, pro Debian nebo Ubuntu to lze udělat
apt install xpra
Potřebujete verzi 3.0 a pozdější, která podporuje přihlašovací protokol SSH→SSH. Peo starší distribuce Debian nebo Ubuntu lze balíček získat z bacports
echo "deb http://ftp.cz.debian.org/debian buster-backports main contrib non-free" | \ sudo cat >/etc/apt/sources.list.d/debian-backports.list sudo apt update sudo apt install -t buster-backports xpra
Na laboratorním počítadle zkontrolujte, zda je již pro Váš účet spuštěné grafické sezení
remote-desktop list
Pokud ne, spusťe si grafické sezení
remote-desktop start xpra
Poznamenejte si číslo displeje a vložte jej do dialogového okna připojení Xpra.
K vašim datům na svých laboratorních účtech máte přístup prostřednictvím serveru postel.