Praktikum 14 - Azure VM ja WSL
Tänase praktikumi teemaks on Azure keskkonna näitel pilvetehnoloogiate katsetamine. Täpsemalt Windows 11 virtuaalmasina loomine, sellega ühendumine ja sinna peale WSL-i (Windows SubSystem for Linux) installimine.
Siiamaani kasutasime VM kohalikus masinas. Nüüd tekitame olukorra, kus see on üles seatud pilveteenuses - see tähendab, et teie virtuaalmasin on üles seatud kusagil serveripargis, mille asupaik võib olla teist tuhandete kilomeetrite kaugusel. See ongi enamasti virtuaalmasinate põhiline kasutusjuht ning ka väärtus, kuna võimaldab efektiivsemat ressursside haldamist ning lisaks ka stabiilsemat keskkonda.
NB! Kuna tänases praktikumis kasutate tasulisi ressursse piiratud Azure krediidiga, siis väga oluline on, et te lülitate oma pilveteenuses asuva virtuaalmasina välja iga kord pärast selle kasutamist. Vastasel juhul lõppeb teil tasuta kasutatav ressurss ning ei ole võimalik praktikumi lõpuni teha.
1. Azure pilveteenuses Ülikooli kasutajaga konto loomine
Azure on Microsofti pilveteenuse platvorm, kuhu TÜ üliõpilased saavad endale proovikonto teha (ilma krediitkaardita) ja 100 USD krediiti harjutamiseks (katsetamiseks).
Selleks külastage veebilhekülge: https://azure.microsoft.com/en-us/free/students/ ja otsige rohelist nuppu Start free.
Sammud üldiselt
- Vajutage "Start free".
- Logige sisse oma olemasoleva Microsoti kontoga. Ei pea ilmtingimata olema teie Tartu Ülikooli konto.
- Kinnitage oma isik telefoninumbriga.
- Kinnitage oma õpilase staatus enda ülikooli kontoga. Teie ülikooli konto on <ut_kasutajanimi>@ut.ee.
- Pärast enda õpilase staatuse kinnitamist juhatatakse teid edasi teie Azure keskvaatesse (inglise k. "Azure Console","Azure Graphical User Interface").
- Palju õnne! Nüüdseks on teil olemas oma Azure konto koos aastase $100 krediidiga. Lisaks saate kasutada ka mitmeid erinevaid teenuseid tasuta. Lugege lähemalt siit.
PS! Kui teil mingil põhjusel ei lubata tasuta kontot luua peaksite sellest kurtma TÜ IT osakonda https://wiki.ut.ee/display/SIH või konto loomisel kasutama krediitkaarti (saate esimesed 100 USD tasuta, kuid selleks on vaja krediitkaarti numbrit).
Kasutades Internetti (AI), vastake allolevatele küsimustele, et mõistaksite järgmisi tegevusi juhendis. PS, tehke endale vastused korralikult selgeks, sest neid läheb teil ka ülejäänud praktikumi jooksul vaja.
- Mis on
Azure Subscription? - Mis on
Azure Resource? - Mis on
Azure Resource Group?
2. Azure pilveteenuses Virtuaalmasina loomine
- Minge aadressile https://portal.azure.com/.
- Avanenud vaates otsige üles sinine
Plussikoon kirjagaCreate a resourceja vajutage sellele. - Avanenud vaates otsige üles kirje
Virtual machineja vajutage sellele. - Avaneb virtuaalmasina loomise vaade.
- Oluline on, et selle ja järgmiste virtuaalmasina loomise sammudel mitte praktikumi katkestada, sest vastasel juhul loob Azure VMi valmis ja paneb selle ka käima, see omakorda põhjustab aga lisakulu (ehk sööb ära antud krediidi).
- Virtuaalmasina loomiseks täitke ära avanenud vaade nii nagu pildil näidatud. Asendage nimi "peets"
enda perekonnanimegailma täpitähtedeta.- Väga oluline on, et jätate ka oma lisatud
paroolijakasutajanimemeelde. Teil läheb seda vaja VMi sisselogimisel.
- Väga oluline on, et jätate ka oma lisatud
- Edasi vajutage nupule:
Next: Disks.
- Edasi vajutage nupule:
Next: Networking.
- Edasi vajutage nupule:
Next: Management.
- Edasi vajutage nupule:
Next: Monitoring.- Võite tutvuda valikutega, kuid muudatused pole vajalikud ja jätke
vaikeseaded.
- Võite tutvuda valikutega, kuid muudatused pole vajalikud ja jätke
- Edasi vajutage nupule:
Next: Advanced.- Võite tutvuda valikutega, kuid muudatused pole vajalikud ja jätke
vaikeseaded.
- Võite tutvuda valikutega, kuid muudatused pole vajalikud ja jätke
- Edasi vajutage nupule:
Next: Tags.- Võite tutvuda valikutega, kuid muudatused pole vajalikud ja jätke
vaikeseaded.
- Võite tutvuda valikutega, kuid muudatused pole vajalikud ja jätke
- Edasi vajutage nupule:
Next: Review + Create.- Teile tekkima akna üles roheline tekst
Validation passed. Kontrollige veelkord seadistust ja vajutage sinisele nupuleCreate.
- Teile tekkima akna üles roheline tekst
- Virtuaalmasina loomine võtab aega kuskil 5-15 minutit. Võite nii kaua lugeda WSL-i kohta https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux.
- Minge lingile https://portal.azure.com/#home
- Vajutage nupule
Resource Groups. - Avanenud vaates vajutage endanimelise ressurside grupi peale.
- Vajutage oma VM-i peale. Peaks avanema teie loodud VM-i üldinfot tutvustav vaade.
- Ülesanne 1: Tehke Azure virtuaalmasina ülevaateaknast
Essentialsekraanivaade - Ülesanne 2: Tehke Azure virtuaalmasina ülevaateaknast
Propertiesekraanivaade- Vajadusel esitage mitu ekraanivaadet, kui ühele ära ei mahu.
3. Pilvemasinaga ühendumine
3.1 DNS nimelahenduse seadistamine
- Vasakul Azure pilvemasina seadistuse menüüs valige
Propertiesning vajutage hiirega sinisel IP-aadressil kirjePublic IP-aadress/DNS name labelall. - Seadistage enda Azure pilvemasina DNS-nimeks
perenimi2023.northeurope.cloudapp.azure.com- Loomulikult asendage
perenimi2023enda nimega...
- Loomulikult asendage
- Kontrollige enda arvutist nimelahenduse toimimist
nslookup teienimi2023.northeurope.cloudapp.azure.com(peaks tagastama teie Azure pilvearvuti IP-aadressi) - Proovige, kas masin vastab
ping perenimi2023.northeurope.cloudapp.azure.com(turvakaalutlustel ei peaks ping õnnestuma (ping-päringule ei vastata), saades tulemuseksRequest timed out). See on ka hea näide, mikspingei ole alati hea kontrollimaks kas arvuti on ligipääsetav võrgu teel (või DNSi kontrollimiseks).
3.2 RDP ühenduse loomine
- Valige enda Azure pilvemasina ülevaateakna vasakul menüüst
Home-perenimi-vm-Overviewja siisConnect - Avanenud vaates otsige rida
Portja seal pordinumbrit3389. Numbri järel vajutage nuppuCheck access-> peaks andma umbes minuti pärast vastuseksAccessible. - Otsige alamblokki
Native RDPja seal nuppuSelect->Prerequisites ...peaks olema 3 rohelist ringi tähistamaks edukat testide läbimist. - Valige
Download RDP Fileja avage fail.- Faili on mugav avada Windows operatsioonisüsteemis. Muu operatsioonisüsteemi kasutajad, otsige endale sobiv lahendus sellelt lehelt https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients (või üritage kasutada oma virtuaalmasinat, kuhu paigaldasite Windows operatsioonisüsteemi).
- Võite ignoreerida hoiatust
Unkown publisherja vajutadaConnect - Sisestage eelpool seadistatud
kasutajatunnusjaparool- Soovitavalt ärge pange linnukest
Remember mejuurde.OK - Ignoreerige veelkord hoiatust. Seekord sertifikaadi kohta.
The certificate is not from trusted certifying authority. VajutageYes - Peaks avanema teie Azure Windows 11 virtuaalmasina vaade
- Soovitavalt ärge pange linnukest
- Minge
SettingsjaUpdatening paigaldage kõik uuendused.- Kuna teie Azure arvuti on avalikust võrgust ligipääsetav, on ülimalt oluline, et see oleks turvatud:
Uuendused paigaldatud,mitte standartne kasutajatunnusjakeeruline parool.
- Kuna teie Azure arvuti on avalikust võrgust ligipääsetav, on ülimalt oluline, et see oleks turvatud:
- Pärast uuenduste paigaldamist tehke Azure arvutile taaskäivitus (restart).
- Teie ühendus peaks nüüd katkema.
- Proovige uuesti ühenduda, kuid seekord kasutades DNS nimelahendust.
- Avage RDP-klient enda arvutis
- Computer reale kirjutage
teienimi2023.northeurope.cloudapp.azure.com
- Ülesanne 3: Minge
Settings->System->Aboutning tehke ekraanivaade kogu RDP aknast nii et:- RDP akna üleval oleks näha aadress
perenimi2023.northeurope.cloudapp.azure.com AboutaknasDevice-nameInstalled onpaigalduse kuupäev- Vasakul üleval kasutaja
perenimi-admin
- RDP akna üleval oleks näha aadress
2.2 Azure pilvemasinaga ühendumine üle Powershell Remote tehnoloogia
- Läheme Azure pilvemasina seadistuse vaates vasakult vahelehele
Run Command- Seal valime alustuseks
RunPowerShellScriptja kasutame käskudekshostnamejaGet-Date
- Seal valime alustuseks
- Nüüd valime
EnableRemotePSeelseadistatud käskude skripti nimekirjast - Võtke hetk ja lugege veateadet. Proovige aru saada mida peate tegema, et seda veateadet parandada.
- Vihje: Change the network type to either Domain or Private
- Vihje: Praktikumis 4 muutsime võrgutüüpi https://courses.cs.ut.ee/2023/os/fall/Main/Praktikum4
- Kui siiski hätta jääte Googeldage (AI'ge) veateadet ja leiate arvatavasti mitmeid lehekülgi, mis õpetavad, kuidas seda lahendada.
- Need üksikud tublid, kes praktikumis kohapeal osalevad, võite küsida abi ka õppejõult.
- Pärast muudatuse tegemist proovige sama skripti
EnableRemotePSuuesti.- Nüüd peaks õnnestuma (ei tule punast teksti vastuseks), vaid umbes lehekülg valget postitiivse alatooniga kirjeldust.
- Järgnevalt on meil vaja Azure võrguseadistuse tulemüüris lisaks Windowsi tulemüürile avada vajalik port. Selleks minge
Network Settings->Create port ruleja lisage reegel, mis lubab porti5986kõigilt arvutiteltTCPühenduse. - Oota umbes 1 minut, mille jooksul muudatus rakendub ...
- Nüüd ava enda isiklikus arvutis
powershellja seal sisesta käskEnter-PSSession -ComputerName "perenimi2023.northeurope.cloudapp.azure.com" -port "5986" -Credential (Get-Credential) -useSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)perenimiasenda enda seadistatud DNS nimega
- Teilt küsitakse pilvearvuti
kasutajatunnustjaparooli - Juhul kui saate veateate puuduvate kredentsiaalide kohta, proovige PowerShell käivitada administraatorina
- Tulemus võiks välja näha nagu allpool oleval pildil:
- Ülesanne 4: Avage
powershellabil ühendus enda Azure pilvearvuti ja tehke ekraanivaade kogu powershelli aknast nii et:- Powershelli aknas
perenimi2023.northeurope.cloudapp.azure.comkuhu ühendate. hostnamekäsu väljund Azure pilvemasinast üle powershell remote seansiipconfigkäsu väljund Azure pilvemasinast üle powershell remote seansi
- Powershelli aknas
- Powershell seansi saab sulgeda käsuga
exit - Automatiseerimise eesmärgil on efektiivsem kasutada
Invoke-Commandkäsku, millele saab soovi korral ka ette anda ühendusekskasutajatunnusejaparoolining siis täielikult automatiseerida skriptide käivitamise Azure pilvearvutites.Invoke-Command -ComputerName "perenimi2023.northeurope.cloudapp.azure.com" -ScriptBlock {Get-Host} -Credential (Get-Credential) -useSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)
4. WSL ehk Windows Subsystem for Linux
Tänase praktikumi üheks teemaks on ka WSL-i (Windows Subsystem For Linux) installimine Azure pilve loodud virtuaalmasinasse. WSL pakub teile võimalust Windowsi keskkonnas seada üles täisfunktsionaalsusega Linuxi terminal vastavalt teie soovile kas Ubuntu, Debiani või mingi muu distroga. Pika seletuse WSL-i kohta leiad siit: https://blogs.windows.com/windowsdeveloper/2016/07/22/fun-with-the-windows-subsystem-for-linux/
- Ava Azure arvutis
powershellja sisesta käskwsl --install -d Debian- Eelnev käsk paigaldab meile
Debianlinuxi käsurea (ja kerneli) Windows operatsioonisüsteemi - Kui terminali tuleb tekst
The requested operation is successful. ...Usalda järgmist lauset ja teereboot - Oota umbes 1 minut millal pilvemasin on võrgust uuesti saadaval.
- Pikk ja täiendvate seletustega WSL paigaldusjuhend on siin: https://learn.microsoft.com/en-us/windows/wsl/install
- Eelnev käsk paigaldab meile
- Ühendage RDP abil ennast uuesti Azure pilvemasinaga
- WSL-i saab avada mitut moodi:
- Azure pilvemasinas avage stardimenüü ja sealt leidke
Debian
- Azure pilvemasinas avage stardimenüü ja sealt leidke
- Esimesel käivitamisel küsitakse teie käest
Enter new UNIX username:-eesnimi(sama mis varasemates praktikumides Ubuntu kasutaja)New password:- võite kasutada sama, mis enda Ubuntu virtuaalmasinas. Ärge kasutage sama, mis Azure arvutil.
- Käivitage WSL ja proovige selles sisestada mõned Linuxi käsud:
ls -la ls /mnt pwd uname -a
uname -aväljundist näeme, et meil on tõesti tegu Linuxiga.
- Otsige https://portal.azure.com lehelt üles
Cloud Shell, seal valige tüübiksbashja vajadusel looge täiendavad ressursid selle kasutamiseks. - Sisestage Azure Cloud Shell käsureale käsk
az network nsg rule create -g 'perenimi-rg' --nsg-name 'perenimi-vm-nsg' -n allow-SSH --priority 1001 --destination-port-ranges 22 --protocol TCP- Käesolev käsk avab Azure Cloud Shell (täiendav võimalus Azure ja selle ressurse/VMe seadistada) abil Windows 11 virtuaalmasinasse OpenSSH serveri jaoks pilve tulemüüris pordi 22.
- Tulemust saate uurida Azure
Network settingsvaatesInbound port rulesall. - Viide Microsofti juhendile: https://learn.microsoft.com/en-us/azure/virtual-machines/windows/connect-ssh
- Sisestage Azure Cloud Shell käsureale käsk
az vm extension set --resource-group 'perenimi-rg' --vm-name 'perenimi-vm' --name WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --version 3.0- Varuge kannatust, käsu täitmine võtab kuni 15 minutit.
- Käesolev käsk paigaldab Azure Cloud Shell abil Windows 11 virtuaalmasinasse OpenSSH serveri, mis võimaldab meil ühenduda hetkepärast Azure pilvearvutisse üle SSH liidese.
- Jätke vastav veebileht avatuks ja võite nüüd liikuda RDP abil Azure arvuti ja seal sees oleva WSL juurde tagasi.
- WSL käsureal sisestage järgmised käsud:
sudo apt update;sudo apt install openssh-server;sudo service ssh start;sudo service ssh status;ip a- Oluline on mõista, et väidetavalt ei käivitu WSL automaatselt Windows arvuti käivitamisel, seega peaksite igapäevatöös juurde seadistama ka WSL automaatse käivitumise. Hetkel me seda ei tee, kuid peate seega iga kord WSL SSH ühenduse loomiseks kõigepealt WSL käsurea eelnevalt käivitama (pärast seda käivitub SSH server juba automaatselt ise).
- Kontrolli, kas Azure Cloud Shell on oma töö lõpetanud?
- Kui ei, siis oota veidi...
- Nüüd ava enda isiklikust arvutist terminal ja kirjuta sinna käsk:
ssh perenimi-admin@teienimi2023.northeurope.cloudapp.azure.com- Nõustuge tundmatu uue
fingerprintehk serveriga identifikaatoriga. - Sisestage enda Azure masina parool
- Edukat ühendust saate kontrollida käskudega
hostnamejaipconfig
- Nõustuge tundmatu uue
- Nüüd proovige sealt Azure arvuti käsurealt ühenduda omakorda WSL Debiani käsureale
ssh eesnimi@WSL-IP-AddressasendageeesnimiWSL kasutajaga mis seadistasite eelnevalt ja sisestage WSL käsurea IP-aadress (saate teada minnes WSL käsureale ja sisestades käsuip a).- Peaksite jõudma WSL käsureale edukalt. Kontrollige
ip akäsuga. - Väljuge kummastki arvutist (WSL, Azure)
exitjaexitkäsuga.
- Peaksite jõudma WSL käsureale edukalt. Kontrollige
- Olles eelnevalt veendunud, et saame kõigepealt SSH abil ühenduda meie Azure VMi ja sealt omakorda selle sees olevasse WSL käsureale, saame nüüd
Proxy Jumpingtehnoloogia abil ühenduda otse Azure pilves oleva arvuti WSL Debiani käsureale käsuga: - Ülesanne 5: Esitage ekraanivaade, kus te enda isikliku arvuti käsurealt sisestate käsu:
ssh -J perenimi-admin@perenimi2023.northeurope.cloudapp.azure.com eesnimi@WSL-IP-Addressja loote edukalt kõigepealt ühenduseAzure arvutigaja seejärel automaatselt hüppate sealt edasiWSL Debianikäsureale. Illustreerimaks, et olete õiges kohas, sisestage samas aknas käsudip ajauname -a.
4.2 WSL harjutusülesanne
Läksin puhkusele ja talletasin enda paroolid failidesse siin Giti repos https://github.com/AndresNamm/accident . Mõtlesin, et kui ma teen palju faile, siis keegi ei leia minu parooli üles. Nii juhtuski, sest ma ei mäleta, millistesse failidesse ma oma paroolid panin. Palun teilt abi.
Kloonige https://github.com/AndresNamm/accident repo endale WSL-ga kodukausta.
Ülesanne 6: Koostage skript (või leidke käsk), mis suudab WSL (linuxi käsurea) võimekust kasutades leida https://github.com/AndresNamm/accident repositooriumist paljude failide seast parooliga faili. Esitage lahenduseks ekraanivaade leitud peidetud paroolist ja tõestus kuidas lahenduseni jõudsite.
Esitada:
- Ülesanne 1: Tehke Azure virtuaalmasina ülevaateaknast
Essentialsekraanivaade - Ülesanne 2: Tehke Azure virtuaalmasina ülevaateaknast
Propertiesekraanivaade - Ülesanne 3: Minge
Settings->System->Aboutning tehke ekraanivaade kogu RDP aknast nii et:- RDP akna üleval oleks näha aadress
perenimi2023.northeurope.cloudapp.azure.com AboutaknasDevice-nameInstalled onpaigalduse kuupäev- Vasakul üleval kasutaja
perenimi-admin
- RDP akna üleval oleks näha aadress
- Ülesanne 4: Avage
powershellabil ühendus enda Azure pilvearvuti ja tehke ekraanivaade kogu powershelli aknast nii et:- Powershelli aknas
perenimi2023.northeurope.cloudapp.azure.comkuhu ühendate. hostnamekäsu väljund Azure pilvemasinast üle powershell remote seansiipconfigkäsu väljund Azure pilvemasinast üle powershell remote seansi
- Powershelli aknas
- Ülesanne 5: Esitage ekraanivaade, kus te enda isikliku arvuti käsurealt sisestate käsu:
ssh -J perenimi-admin@perenimi2023.northeurope.cloudapp.azure.com eesnimi@WSL-IP-Addressja loote edukalt kõigepealt ühenduseAzure arvutigaja seejärel automaatselt hüppate sealt edasiWSL Debianikäsureale. Illustreerimaks et olete õiges kohas sisestage samas aknas käsudip ajauname -a. - Ülesanne 6: Koostage skript (või leidke käsk), mis suudab WSL (linuxi käsurea) võimekust kasutades leida https://github.com/AndresNamm/accident repositooriumist paljude failide seast parooliga faili. Esitage lahenduseks ekraanivaade leitud peidetud paroolist ja tõestus kuidas lahenduseni jõudsite.
Kui teil on Github/Gitlab valmis, siis lisage link esitusele moodle keskkonda, kust me teie lahenduse leiame. Moodle esitamise otselink: https://moodle.ut.ee/mod/assign/view.php?id=1226994
(Tähtaeg 2 nädalat)












