Problem Set #5: Into the Clouds
o konfigurácii virtuálnych strojov, inštalácii Docker-u a vzdialenom prístupe
Vytvorenie virtuálneho stroja
Na stránke https://cloud.tuke.sk si požiadajte o vytvorenie virtuálneho servera s OS Linux. Prezentáciu Martina Hasina o tom, ako veci fungujú, si môžete stiahnuť tu.
Windows Only: Open SSH Client
Poznámka
Ak používate OS Windows, musíte si nainštalovať Open SSH klienta, pretože VS Code nebude fungovať s SSH klientom, ktorý je súčasťou systému. Odporúčame vám si preto nainštalovať balík Git Bash, ktorý Open SSH klienta obsahuje. Ešte lepšou voľbou je nainštalovať si Cmder, ktorý Git Bash obsahuje a ako bonus ponúka výborný terminál. Ak používate Chocolatey, Cmder nainštalujete príkazom:
$ choco install cmderVzdialený používateľ
Na vzdialený stroj sa pripojíte pomocou protokolu SSH ako
používateľ root s heslom, ktoré ste dostali e-mailom.
Pripojiť sa môžete napríklad týmto príkazom:
$ ssh root@HOST_IPPracovať však ako používateľ root nie je dobrý a ani
bezpečný prístup. Miesto toho vytvoríme na vzdialenom stroji používateľa
maker, ktorého budeme používať. Používateľa vytvoríme týmto
príkazom:
$ adduser makerOkrem toho pridáme tohto používateľa do skupiny sudo,
aby mohol spúšťať príkazy s právami superpoužívateľa:
$ usermod --append --groups sudo makerHeslo nastavíte používateľovi maker príkazom:
$ passwd makerPrihlasovanie sa pomocou SSH kľúčov
Pre vzdialené prihlasovanie sa často používajú SSH kľúče, čo je jednoduchšie a aj bezpečnejšie riešenie ako používať heslo.
Najprv SSH kľúče vytvoríme na lokálnom počítači:
$ ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/mirek/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/mirek/.ssh/id_ed25519
Your public key has been saved in /home/mirek/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:T7oig3qF44USkI899tB4IyG0O3IIR9fSgUcVJp3hsrg mirek@fedora
The key's randomart image is:
+--[ED25519 256]--+
|.o. .=++=+ |
|+.o.o ++o |
|o*.+ o. . |
|+oX +. o |
|o=.O... S . |
|o.= +. + |
| o =E . . |
| + o . . |
|.o o .. |
+----[SHA256]-----+V priečinku ~/.ssh/ sa vytvorili dva súbory:
id_ed25519- súkromný kľúč, aid_ed25519.pub- verejný kľúč
Následne prekopírujte SSH kľúč na vzdialený server príkazom:
$ ssh-copy-id maker@HOST_IP -i ~/.ssh/id_ed25519Ak ste postupovali správne, budete sa môcť pripojiť bez hesla. Stačí napísať príkaz:
$ ssh maker@HOST_IPV prípade, že používate viacero SSH kľúčov, môžete pri
prihlasovaní sa na diaľku príslušný SSH kľúč zvoliť voľbou
-i takto:
$ ssh maker@HOST_IP -i ~/.ssh/id_ed25519Vzdialený prístup pomocou VS Code
Na vzdialený server sa viete pripojiť pomocou protokolu SSH. Ako SSH klienta môžete s výhodou využiť vývojové prostredie VS Code. Na to je však potrebných niekoľko krokov.
Rozšírenie Remote Development
Najprv si do VS Code nainštalujte rozšírenie Remote Development.
Windows only: Open SSH Client
Upozornenie
Ako bolo uvedené vyššie, používatelia OS Windows si musia nainštalovať Open SSH klienta osobitne. Po jeho inštalácii je potrebné upraviť konfiguráciu rozšírenia Remote Development pre použitie nainštalovaného Open SSH klienta:
- Choďte do menu
File > Preferences > Settings - Vyhľadajte
remote.ssh: path - Do vstupného poľa
Remote.SSH: Pathzadajte absolútnu cestu nainštalovaného Open SSH klientassh.exe:
Konfigurácia vzdialeného pripojenia
Nakoniec zostáva už len konfigurácia vzdialeného pripojenia:
V bočnom paneli kliknite na ikonu
Remote ExplorerZ komba v paneli vyberte
Remotes (Tunnels/SSH)Kliknite na ozubené koliesko (
Open SSH Config File) pri (prázdnom) zoznamSSHZvoľte si používateľský konfiguračný súbor (prvá položka zoznamu), napr. pre používateľov OS Linux to bude cesta v tvare
/home/your-user/.ssh/configDo konfiguračného súboru vložte nasledujúce riadky:
Host uvt_virtual HostName HOST_IP User maker # If you have SSH key, you can use it: # Windows users will write: # IdentityFile "C:\Users\jano\.ssh\id_ed25519" # Linux users will write: # IdentityFile "~/.ssh/id_ed25519"
Preventívne obnovte zoznam vzdialených spojení kliknutím na ikonku
Refresh nachádzajúcu sa na vrchu bočného panela
Remote Explorer.
Pripojenie sa
Pripojíte sa kliknutím na jednu z dvoch možností (ikoniek) vedľa názvu vzdialeného stroja:
Connect in Current Window, aleboConnect in New Window
Počas pripájania sa postupne potvrďte:
- fingerprint vzdialeného stroja (stlačte
Enter), - typ OS (vyberte
Linux)
Po pripojení si otvorte v prehliadači súborov (Explorer)
domovský priečinok (/home/ubuntu) a otvorte si
terminál.
A môžete pracovať.
Upozornenie
Vzdialený prístup je možný len z univerzitnej siete TUNET. V prípade, že sa chcete pripojiť na svoj virtuálny stroj na diaľku, musíte sa pripojiť pomocou siete VPN.
Inštalácia Docker-a
Ak budete potrebovať na virtuálnom stroji nainštalovať Docker, stačí, ked napíšete nasledovný príkaz:
$ curl -sSL https://get.docker.com/ | shAby ste mohli docker používať aj ako používateľ
maker, musíte ho pridať do skupiny docker:
$ sudo usermod --append --groups docker makerPre aplikovanie zmien sa odhláste a znovu prihláste.
Inštaláciu si následne môžete overiť príkazom:
$ sudo docker version
Client: Docker Engine - Community
Version: 27.3.1
API version: 1.47
Go version: go1.22.7
Git commit: ce12230
Built: Fri Sep 20 11:42:52 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 27.3.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.7
Git commit: 41ca978
Built: Fri Sep 20 11:41:00 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.23
GitCommit: 57f17b0a6295a39009d861b89e3b3b87b005ca27
runc:
Version: 1.1.14
GitCommit: v1.1.14-0-g2c9f560
docker-init:
Version: 0.19.0
GitCommit: de40ad0