Problem Set #5: Into the Clouds
o konfigurácii virtuálnych strojov, inštalácii Docker-u a vzdialenom prístupe
Upozornenie
Work in progess! Dokumentácia nie je úplná a bude priebežne dopĺňaná.
Vytvorenie virtuálneho stroja
Na stránke https://cloud.tuke.sk si požiadajte o vytvorenie virtuálneho servera s OS Linux.
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 cmder
Vzdialený používateľ
Pripojiť sa na vzdialený stroj môžete pomocou protokolu SSH
ako používateľ root
napríklad týmto príkazom:
$ ssh root@HOST_IP
Pracovať 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 maker
Okrem 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 maker
Heslo nastavíte používateľovi maker
príkazom:
$ passwd maker
Prihlasovanie 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_ed25519
Ak ste postupovali správne, budete sa môcť pripojiť bez hesla. Stačí napísať príkaz:
$ ssh maker@HOST_IP
V 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_ed25519
Vzdialený 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: Path
zadajte 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 Explorer
Z komba v paneli vyberte
Remotes (Tunnels/SSH)
Kliknite na ozubené koliesko (
Open SSH Config File
) pri (prázdnom) zoznamSSH
Zvoľ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/config
Do 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/ | sh
Aby ste mohli docker
používať aj ako používateľ
maker
, musíte ho pridať do skupiny docker
:
$ sudo usermod --append --groups docker maker
Pre 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