Pāriet uz saturu

Sīkdatņu iestatījumi

Izvēlieties, kāda veida sīkdatnes atļaujat. Savu izvēli varat jebkurā laikā mainīt sadaļā Sīkdatņu iestatījumi katras lapas apakšā. Privātuma politika

Nepieciešamās

Vienmēr ieslēgtas

Vajadzīgas, lai pieteiktos, saglabātu grozu un atcerētos Jūsu izvēles. Tās vienmēr ir ieslēgtas.

Kuras sīkdatnes?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsu sesija un pieteikšanās saglabāšana
  • weboke_basket: Jūsu grozs
  • wkBtwIncl: cenu rādīšana ar PVN vai bez PVN
  • wok_cookies: Jūsu sīkdatņu izvēle, 12 mēneši

Mēra, kura reklāma noved pie apmeklējuma vai pasūtījuma, lai mēs nemaksātu par reklāmām, kas neko nedod.

Kuras sīkdatnes?
  • Google Ads ar Google Tag Manager (_gcl_au, _gcl_aw), līdz 90 dienām
  • OpenAI Ads, reklāmas ChatGPT
  • wok_aff: caur kuru partneri nonācāt pie mums (partneru programma), 60 dienas

4,6

Valsts un valoda

Katrai valstij ir sava vietne ar attiecīgās valsts cenām un PVN.

Skatīt

Pirmā pieteikšanās ar SSH

1. modulis: Jūsu pirmais serveris · Lasīšanas laiks: 10 min.

Mācīšanās mērķis: Pēc šīs nodarbības Jūs varēsiet pirmo reizi pieteikties savā serverī ar SSH, pārbaudīt servera pirkstu nospiedumu, pirms tam uzticaties, un zināsiet, kā rīkoties, ja parādās brīdinājums, ka servera identitāte ir mainījusies.

Pamatjēdzieni: SSH, klients un serveris, ports 22, versijas baneris, host key (resursdatora atslēga), pirkstu nospiedums (SHA256), known_hosts, trust on first use, "REMOTE HOST IDENTIFICATION HAS CHANGED", PowerShell un Terminal

Kas ir SSH

SSH (Secure Shell) ir šifrēts savienojums, ar kuru Jūs attālināti pārvaldāt serveri. Jūs rakstāt savā datorā, bet komandas tiek izpildītas serverī. Viss, kas tiek pārsūtīts pa līniju, arī Jūsu parole, ir šifrēts.

Ir divas puses:

  • SSH klients Jūsu datorā: programma ssh. macOS un Linux sistēmās tā ir iekļauta pēc noklusējuma. Windows 10 (sākot ar versiju 1809) un Windows 11 sistēmā OpenSSH klients ir Windows sastāvdaļa; to izmanto PowerShell vai Windows Terminal. Ja tā nav, pievienojiet to sadaļā Iestatījumi, Izvēles līdzekļi, "OpenSSH klients". Darbojas arī programmas ar logiem, piemēram, PuTTY, taču šajā kursā mēs izmantojam ssh.
  • SSH serveris VPS: programma sshd (no OpenSSH). Pēc noklusējuma tā klausās portā 22.

Pieteikšanās

Jūs piesakāties ar lietotājvārdu un servera adresi:

PS C:\Users\anna> ssh root@192.0.2.10

Vai ar nosaukumu, ja esat to ierakstījuši DNS (nodarbība 7.1):

anna@laptop:~$ ssh root@web1.example.com

Pirmajā reizē Jūs redzēsiet kaut ko līdzīgu šim:

The authenticity of host '192.0.2.10 (192.0.2.10)' can't be established.
ED25519 key fingerprint is SHA256:Xq3aTnPpC0m1o4cJ2kVqY8mWb7rZs5dLfE6hUyN9tKs.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Šis ir svarīgākais brīdis šajā nodarbībā. Neierakstiet yes akli.

Host key un pirkstu nospiedums

Katram SSH serverim ir viena vai vairākas host keys: atslēgu pāri, ar kuriem serveris pierāda, kas tas ir. Publiskās daļas atrodas serverī mapē /etc/ssh/, piemēram, /etc/ssh/ssh_host_ed25519_key.pub. Ikreiz, kad tiek izveidots savienojums, serveris parāda, ka tam ir slepenā daļa.

Pirkstu nospiedums ir īss šādas publiskās atslēgas kopsavilkums (jaucējvērtība jeb hash). OpenSSH pēc noklusējuma rāda SHA256 formu: SHA256:, kam seko 43 rakstzīmes.

Jautājums "Are you sure you want to continue connecting?" nozīmē: Jūsu dators šo serveri vēl nepazīst. Kas garantē, ka Jūs sazināties ar savu VPS, nevis ar kādu, kas pārtver datplūsmu? Neviens, ja vien Jūs nesalīdzināt pirkstu nospiedumu ar uzticamu avotu.

Šis avots ir Jūsu pakalpojumu sniedzēja konsole (nodarbība 1.2). Tur Jūs ar serveri nesazināties caur tīklu. Piesakieties konsolē un pieprasiet pirkstu nospiedumu:

root@web1:~# ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
256 SHA256:Xq3aTnPpC0m1o4cJ2kVqY8mWb7rZs5dLfE6hUyN9tKs root@web1 (ED25519)

Ja tas precīzi sakrīt ar to, ko rāda klients, ierakstiet yes. Jūs varat arī yes vietā ielīmēt pašu pirkstu nospiedumu; tad ssh to salīdzinās Jūsu vietā. Ja tas atšķiras, apstājieties un noskaidrojiet iemeslu (nepareiza IP adrese, serveris ir pārinstalēts vai kas nopietnāks).

Pievērsiet uzmanību tipam: klients norāda tipu (ED25519, ECDSA vai RSA). Salīdziniet tā paša tipa pirkstu nospiedumu. Daudzi attēli (images) pirmās palaišanas laikā pirkstu nospiedumus parāda arī konsolē (cloud-init), starp tādām rindām kā BEGIN SSH HOST KEY FINGERPRINTS.

known_hosts un trust on first use

Ja ierakstāt yes, Jūs redzat:

Warning: Permanently added '192.0.2.10' (ED25519) to the list of known hosts.

Klients saglabā atslēgu failā ~/.ssh/known_hosts (Windows sistēmā C:\Users\<naam>\.ssh\known_hosts). No šī brīža tas katrā savienojumā salīdzina automātiski. Šo modeli sauc par trust on first use (TOFU, uzticēšanās pirmajā lietošanas reizē): pirmajā reizē Jums tas jāpārbauda pašiem, pēc tam to uzrauga klients.

Tāpēc šī pirmā pārbaude ir tik svarīga: ja uzticaties nepareizai atslēgai, klients pēc tam vairs nekad nebrīdinās.

Ja Jūs paši strādājat datorā ar Debian vai Ubuntu, nosaukumi failā known_hosts pēc noklusējuma tiek saglabāti jaucējvērtību veidā (HashKnownHosts yes failā /etc/ssh/ssh_config), tāpēc tur nav redzamas salasāmas IP adreses. Windows un macOS sistēmā tās ir salasāmas. Meklēšana visur darbojas ar:

anna@laptop:~$ ssh-keygen -F 192.0.2.10
# Host 192.0.2.10 found: line 3
|1|kP9...= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...

"REMOTE HOST IDENTIFICATION HAS CHANGED"

Dažreiz Jūs redzēsiet šādu brīdinājumu:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
...
Host key verification failed.

Serveris uzrāda citu atslēgu nekā to, ko pazīst Jūsu klients. Tad ssh atsakās izveidot savienojumu. Ir divu veidu iemesli:

NormāliAizdomīgi
Jūs esat pārinstalējuši VPS (jaunas host keys)Jūs neko neesat mainījuši, tomēr atslēga ir cita
IP adrese ir piešķirta citam serverimJūs esat pieslēgušies svešam Wi-Fi tīklam
Jūs apzināti nomainījāt host keysPirkstu nospiedums konsolē atšķiras no tā, ko klients redz tagad

Ja ir normāls izskaidrojums, vēlreiz pārbaudiet pirkstu nospiedumu konsolē un tikai pēc tam izdzēsiet veco rindu:

anna@laptop:~$ ssh-keygen -R 192.0.2.10
# Host 192.0.2.10 found: line 3
/home/anna/.ssh/known_hosts updated.

Nākamajā savienojumā Jūs atkal saņemsiet pirmās reizes jautājumu un atkal veiksiet pārbaudi. Nekad neiestatiet StrictHostKeyChecking no, lai atbrīvotos no brīdinājuma: tā Jūs izslēdzat tieši to aizsardzību, par kuru ir runa.

Versijas baneris

Pirms kaut kas tiek šifrēts, klients un serveris nosūta viens otram teksta rindu: versijas baneri. Tas ir redzams ikvienam internetā. Jūs to varat apskatīt ar ssh -v:

anna@laptop:~$ ssh -v root@192.0.2.10 2>&1 | grep "remote software"
debug1: Remote protocol version 2.0, remote software version OpenSSH_9.6p1 Ubuntu-3ubuntu13.5

Šeit serveris norāda, kādu protokolu (2.0) un kādu programmatūru tas izmanto. Debian un Ubuntu tam pievieno pakotnes versiju. Tas nav noslēpums, kas būtu jāslēpj: uzbrucēji tik un tā izmēģina visu, un Jūs sevi aizsargājat ar atjauninājumiem (modulis 4), nevis ar citu baneri. Tomēr tas ir noderīgi: pēc banera Jūs no ārpuses varat redzēt, vai Jūsu serverī tiešām darbojas atjauninātā versija.

AlmaLinux un Rocky Linux

Pieteikšanās un pirkstu nospiedumi darbojas tāpat. Pakalpojumu sauc sshd, nevis ssh (systemctl status sshd). Banerī nav distribūcijas nosaukuma, tikai OpenSSH versija.

Kopsavilkums

  • SSH ir šifrēts savienojums ar Jūsu serveri; ssh ir klients, sshd ir serveris portā 22.
  • Pirmajā savienojumā klients parāda host key pirkstu nospiedumu. Salīdziniet to ar komandas ssh-keygen -lf izvadi konsolē, pirms ierakstāt yes.
  • Klients saglabā atslēgu failā ~/.ssh/known_hosts un turpmāk brīdina pats (trust on first use).
  • "REMOTE HOST IDENTIFICATION HAS CHANGED" pēc pārinstalēšanas ir normāli; citādi tas ir aizdomīgi. Veco rindu dzēsiet tikai pēc pārbaudes, ar ssh-keygen -R.
  • Versijas baneris ir publisks; aizsardzību sniedz atjauninājumi, nevis slēpšana.

Tests (quiz)

1. Ar ko Jūs salīdzināt pirkstu nospiedumu, ko ssh parāda pirmajā savienojumā?



2. Ko dara ~/.ssh/known_hosts?



3. Jūs esat pārinstalējuši savu VPS un saņemat "REMOTE HOST IDENTIFICATION HAS CHANGED". Kāda ir pareizā secība?



4. Kāpēc pie trust on first use pirmā pārbaude ir tik svarīga?



5. Ko parāda SSH servera versijas baneris?



Uzdevums

Uzdevums Z1.3: Jūsu servera SSH baneris un pirkstu nospiedums. Ievadiet sava servera adresi, programmatūras versiju no banera (piemēram, OpenSSH_9.6p1) un ED25519 pirkstu nospiedumu, ko pieprasījāt konsolē ar ssh-keygen -lf. Programma izveido vienu savienojumu ar Jūsu SSH portu, nolasa baneri un host key un salīdzina. Tā nepiesakās.

Uzdevums Z1.3: Jūsu servera SSH baneris un pirkstu nospiedums

Mēs nepieslēdzamies un nemēģinām nevienu paroli vai atslēgu. Vispirms Jūs parādāt, ka serveris pieder Jums: noklikšķiniet uz "Rādīt manu kodu" un ievietojiet sava resursdatora nosaukuma tīmekļa serverī failu /.well-known/weboke-cursus-<code>.txt, kurā ir tikai šis kods. Mēs to ielādējam tieši no katras pārbaudāmās IP adreses (IPv4 un IPv6 atsevišķi); TXT ieraksts šeit neder. Pārbaude notiek no heavy.webawere.nl (185.158.167.16 un 2a07:ae80:100:0:185:158:167:16), nevis no mūsu tīmekļa servera. Tikai reģistrētiem kursa dalībniekiem; katram serverim ne vairāk kā 6 pārbaudes stundā. Šajā uzdevumā mēs izveidojam vienu savienojumu un nolasām tikai servera baneri un atslēgu; Jūsu žurnālā neparādās neviens pieteikšanās mēģinājums.





To, ko ievadāt, un to, ko atrodam, mēs nesaglabājam. Jūsu pārlūkprogramma atceras Jūsu atbildes un to, vai esat izpildījuši uzdevumu. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums bija (gandrīz) pareizs; tur to varat arī dzēst.

Vairāk lasīt

Lūdzu, uzgaidiet…

Iestatiet savus domēnus

Katram domēnam norādiet vārdu serverus, piesaisti hostingam un to, kurš būs turētājs.

Ielādē Jūsu domēnus…