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

Gudra SSH lietošana

2. modulis: SSH un atslēgas · Lasīšanas laiks: 10 min.

Mācīšanās mērķis: Pēc šīs nodarbības Jūs varēsiet ērti lietot SSH ikdienā ar savu konfigurācijas failu, kopēt failus ar scp un rsync un ar tuneli piekļūt datubāzei, neatverot datubāzes portu internetam.

Pamatjēdzieni: ~/.ssh/config, Host, HostName, User, IdentityFile, scp, rsync, sftp, portu pāradresācija (port forwarding), -L, tunelis, ProxyJump, ServerAliveInterval, cits porta numurs, atslēgas atsaukšana

Mazāk rakstīšanas ar ~/.ssh/config

Pēc dažām nedēļām Jūs šo rakstāt desmitiem reižu dienā:

anna@laptop:~$ ssh -i ~/.ssh/id_ed25519 anna@192.0.2.10

Ar klienta konfigurācijas failu tas kļūst īsāks, un Jūs pieļaujat mazāk kļūdu. Fails atrodas Jūsu datorā: ~/.ssh/config (Windows: C:\Users\anna\.ssh\config, bez paplašinājuma).

Host web1
    HostName 192.0.2.10
    User anna
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60

Host test
    HostName test.example.com
    User anna
    Port 2222

Tagad pietiek ar:

anna@laptop:~$ ssh web1
anna@web1:~$

Ko dara šīs rindas?

  • Host ir iesauka, ko izvēlaties paši. To rakstāt aiz ssh, scp un rsync.
  • HostName ir īstā adrese: IP adrese vai nosaukums, kas ir ierakstīts DNS.
  • User un Port ir lietotājvārds un ports, lai Jums tie vairs nebūtu jāatceras.
  • IdentityFile norāda atslēgu. Tas noder, ja Jums ir vairākas atslēgas; bez šīs rindas ssh mēģina Jūsu noklusējuma atslēgas.
  • ServerAliveInterval 60 ik pēc 60 sekundēm nosūta nelielu dzīvības signālu. Daudzi mājas maršrutētāji un Wi-Fi tīkli pēc dažām minūtēm pārtrauc klusu savienojumu; ar šo iestatījumu Jūsu sesija paliek atvērta.

Arī šeit, tāpat kā serverī, spēkā ir pirmā vērtība. Tāpēc vispārīgas rindas, piemēram, Host *, ievietojiet faila beigās.

Failu kopēšana: scp, rsync un sftp

scp kopē failu, izmantojot to pašu pierakstu kā cp, bet ar host: priekšā:

anna@laptop:~$ scp backup.sql web1:/home/anna/
anna@laptop:~$ scp web1:/var/log/nginx/error.log .

rsync ir gudrāks mapēm un lieliem datu apjomiem: tas sūta tikai to, kas ir mainījies, un var atsākt pārtrauktu kopēšanu. Tam jābūt instalētam abās pusēs (apt install rsync).

anna@laptop:~$ rsync -avz --progress ./site/ web1:/var/www/example.com/

Pievērsiet uzmanību slīpsvītrai aiz ./site/: ar slīpsvītru rsync kopē mapes saturu, bez slīpsvītras pašu mapi (tad iegūsiet /var/www/example.com/site/). Ja šaubāties, vispirms izmēģiniet ar --dry-run un esiet ļoti uzmanīgi ar --delete, kas saņēmēja pusē izdzēš visu, kas neeksistē Jūsu pusē.

sftp un grafiskās programmas, piemēram, FileZilla vai WinSCP, izmanto to pašu SSH savienojumu un to pašu atslēgu. Tāpēc atsevišķs FTP serveris nav vajadzīgs. Vecmodīgu FTP serveri VPS nav ieteicams lietot: parastais FTP sūta Jūsu paroli pa tīklu nešifrētu.

Tunelis atvērta porta vietā

Tas, iespējams, ir noderīgākais, ko SSH prot. Pieņemsim, ka Jūsu serverī darbojas PostgreSQL datubāze. Jūs vēlaties tai piekļūt no klēpjdatora ar grafisku programmu. Kārdinājums atvērt portu 5432 internetam ir liels. Nedariet to: atvērti datubāzu porti ir viens no lielākajiem datu noplūžu cēloņiem (nodarbība 10.2), un kurss vēlāk no ārpuses pārbaudīs, vai tie ir slēgti (uzdevums Z5.1).

Ar lokālo portu pāradresāciju Jūs liekat SSH izveidot tuneli:

anna@laptop:~$ ssh -L 5432:127.0.0.1:5432 web1

Lasiet to tā: "klausies manā klēpjdatorā portā 5432 un visu, kas tur ienāk, sūti pa SSH savienojumu uz 127.0.0.1:5432, raugoties no servera". Kamēr šī sesija ir atvērta, Jūs savienojat savu datubāzes programmu ar localhost portu 5432 savā klēpjdatorā un nonākat pie datubāzes serverī.

Kāpēc tas ir tik labi?

  • Datubāze serverī klausās tikai uz 127.0.0.1 un no ārpuses nav sasniedzama.
  • Savienojumu šifrē SSH, arī ja pašai datubāzei šifrēšanas nav.
  • Piekļūt var tikai tas, kurš var pieteikties ar SSH. Tātad Jūs izmantojat jau esošo stipro aizsardzību.

Ja Jūsu klēpjdatorā portā 5432 jau kaut kas darbojas, kreisajā pusē izvēlieties citu numuru: -L 15432:127.0.0.1:5432, un savienojieties ar portu 15432. Ja ierakstāt tuneli failā ~/.ssh/config, tas Jums vienmēr būs pa rokai:

Host web1-db
    HostName 192.0.2.10
    User anna
    LocalForward 15432 127.0.0.1:5432

Ar ssh -N web1-db Jūs iegūstat tikai tuneli, bez komandrindas.

Caur starpserveri: ProxyJump

Dažreiz serveri var sasniegt tikai caur citu serveri, piemēram, datubāzes serveri bez publiskas IP adreses aiz Jūsu tīmekļa servera. ProxyJump caur pirmo serveri pārlec uz otro:

Host db1
    HostName 10.0.0.5
    User anna
    ProxyJump web1

Atšķirība no aģenta pāradresācijas (agent forwarding, nodarbība 2.1): ar ProxyJump šifrēšana darbojas no sākuma līdz beigām starp Jūsu klēpjdatoru un db1. Starpserveris tikai pārsūta paketes un nevar izmantot Jūsu atslēgu.

Cits porta numurs: jā vai nē?

Daudzas pamācības iesaka pārcelt SSH uz citu portu, piemēram, 2222. Ko tas patiesībā dod?

  • Tas samazina troksni: lielākā daļa automatizēto minēšanas mēģinājumu izmēģina tikai portu 22. Jūsu žurnāls kļūst mierīgāks.
  • Tā nav aizsardzība. Skeneris, kas pārbauda visus portus, sekunžu laikā atrod SSH pēc tā versijas banera.

Ja izmantojat atslēgas un pieteikšanās ar paroli ir izslēgta (nodarbība 2.2), ports drošībai maz ko maina. Ja tomēr vēlaties to mainīt, dariet to pareizā secībā: atveriet jauno portu ugunsmūrī, ļaujiet SSH klausīties abos portos, pārbaudiet otrā logā un tikai tad slēdziet veco portu. Ubuntu 24.04 un jaunākās versijās tam pieder arī systemctl daemon-reload un systemctl restart ssh.socket (nodarbība 2.2). Neaizmirstiet, ka arī Jūsu pakalpojumu sniedzējam var būt ugunsmūris.

Piekļuves atsaukšana

Bijušajam kolēģim vai tīmekļa izstrādātājam bija atslēga Jūsu serverī, un sadarbība ir beigusies? Piekļuvi atsaukt ir vienkārši, ja to uzskaitāt:

  1. Apskatiet visas atslēgas: ssh-keygen -lf ~/.ssh/authorized_keys, un dariet to katram lietotājam (arī /root/.ssh/authorized_keys).
  2. Izdzēsiet šīs personas rindu.
  3. Ja šai personai bija savs lietotāja konts, bloķējiet to (nodarbība 3.1) un pārbaudiet, vai tā bija grupā sudo (nodarbība 3.2).
  4. Ja šī persona ir redzējusi paroles, piemēram, datubāzes paroli konfigurācijas failā, nomainiet arī tās.

Parastai atslēgai nav derīguma termiņa. Tas, ko neizdzēšat, turpina darboties, arī pēc gadiem. Ja kādam piešķirat pagaidu piekļuvi, varat šīs personas rindas priekšā failā authorized_keys ierakstīt opciju expiry-time="20261231"; pēc šī datuma serveris atslēgu noraida.

Kopsavilkums

  • ~/.ssh/config Jūsu datorā katram serverim glabā nosaukumu, lietotāju, portu un atslēgu; Host * jāliek beigās.
  • scp atsevišķiem failiem, rsync mapēm (uzmanieties ar slīpsvītru un --delete), sftp FTP vietā.
  • Ar ssh -L Jūs piekļūstat datubāzei caur šifrētu tuneli, kamēr datubāzes ports no ārpuses paliek slēgts.
  • ProxyJump droši pārlec caur starpserveri; tas ir labāk nekā aģenta pāradresācija.
  • Cits porta numurs samazina troksni, bet neaizsargā. Atslēgas, ko neizdzēšat, turpina darboties.

Tests (quiz)

1. Ko dara ssh -L 15432:127.0.0.1:5432 web1?



2. Kāpēc SSH tunelis uz datubāzi ir labāks nekā porta 5432 atvēršana ugunsmūrī?



3. Jūs pārceļat SSH uz portu 2222. Kāda ir galvenā ietekme?



4. Jūsu failā ~/.ssh/config augšā ir Host * ar User root, bet tālāk Host web1 ar User anna. Kā kurš lietotājs Jūs piesakāties ssh web1?



5. Tīmekļa izstrādātājam bija sava SSH atslēga Jūsu serverī, un sadarbība ir beigusies. Kas nav pietiekami?



Uzdevums

Uzdevums O2.3: SSH konfigurācija un tunelis. Savā datorā izveidojiet ~/.ssh/config ar iesauku savam serverim, piesakieties tikai ar ssh <bijnaam>, nokopējiet failu ar scp vai rsync un izveidojiet tuneli ar -L uz pakalpojumu, kas Jūsu serverī klausās tikai uz 127.0.0.1 (ja Jums vēl nav datubāzes, izmantojiet paša servera portu 22: ssh -L 2200:127.0.0.1:22 <bijnaam> un pēc tam ssh -p 2200 anna@localhost). Atbildiet uz jautājumiem par to, ko dara tunelis un kāpēc portam nav jābūt atvērtam.

Uzdevums O2.3: SSH konfigurācija un tunelis

Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.




Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.

Vairāk lasīt

Šajos rakstos aprakstītie soļi attiecas uz WebOké VPS un paneļiem; pie citiem pakalpojumu sniedzējiem tas darbojas līdzīgi.

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…