Pereiti prie turinio

Slapukų nustatymai

Pasirinkite, kokių rūšių slapukus leidžiate. Pasirinkimą bet kada galite pakeisti per „Slapukų nustatymai“ kiekvieno puslapio apačioje. Privatumo pareiškimas

Būtinieji

Visada įjungti

Reikalingi prisijungti, išsaugoti krepšelį ir įsiminti Jūsų pasirinkimus. Jie visada įjungti.

Kokie slapukai?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsų sesija ir prisijungimo išlaikymas
  • weboke_basket: Jūsų krepšelis
  • wkBtwIncl: kainų rodymas su PVM arba be PVM
  • wok_cookies: Jūsų slapukų pasirinkimas, 12 mėnesių

Matuoja, kuri reklama atveda prie apsilankymo ar užsakymo, kad nemokėtume už neveiksmingas reklamas.

Kokie slapukai?
  • Google Ads per Google Tag Manager (_gcl_au, _gcl_aw), iki 90 dienų
  • OpenAI Ads, reklamos ChatGPT
  • wok_aff: per kurį partnerį atėjote pas mus (partnerių programa), 60 dienų

4,6

Šalis ir kalba

Kiekviena šalis turi savo svetainę su tos šalies kainomis ir PVM.

Peržiūrėti

Išmanus SSH naudojimas

2 modulis: SSH ir raktai · Skaitymo laikas: 10 min.

Mokymosi tikslas: Po šios pamokos galėsite patogiai kasdien naudoti SSH su savo konfigūracijos failu, kopijuoti failus su scp ir rsync bei per tunelį pasiekti duomenų bazę, neatverdami duomenų bazės prievado internetui.

Pagrindinės sąvokos: ~/.ssh/config, Host, HostName, User, IdentityFile, scp, rsync, sftp, prievadų peradresavimas (port forwarding), -L, tunelis, ProxyJump, ServerAliveInterval, kitas prievado numeris, rakto atšaukimas

Mažiau rašymo su ~/.ssh/config

Po kelių savaičių šią eilutę rinksite dešimtis kartų per dieną:

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

Naudojant kliento konfigūracijos failą, komanda tampa trumpesnė, o klaidų būna mažiau. Failas yra Jūsų kompiuteryje: ~/.ssh/config (Windows: C:\Users\anna\.ssh\config, be plėtinio).

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

Dabar užtenka:

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

Ką reiškia šios eilutės?

  • Host yra slapyvardis, kurį pasirenkate patys. Jį rašote po ssh, scp ir rsync.
  • HostName yra tikrasis adresas: IP adresas arba vardas, įrašytas DNS.
  • User ir Port yra naudotojo vardas ir prievadas, todėl jų nebereikia įsiminti.
  • IdentityFile nurodo raktą. Tai patogu, jei turite kelis raktus; be šios eilutės ssh bando Jūsų numatytuosius raktus.
  • ServerAliveInterval 60 kas 60 sekundžių siunčia nedidelį gyvybės signalą. Daugelis namų maršrutizatorių ir „Wi-Fi“ tinklų po kelių minučių nutraukia neaktyvų ryšį; su šiuo nustatymu Jūsų sesija lieka atvira.

Čia, kaip ir serveryje, galioja pirmoji reikšmė. Todėl bendras taisykles, pavyzdžiui, Host *, rašykite failo apačioje.

Failų kopijavimas: scp, rsync ir sftp

scp kopijuoja failą, naudodama tokią pačią formą kaip cp, tik su host: priekyje:

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

rsync išmaniau tvarko aplankus ir didelius duomenų kiekius: siunčia tik tai, kas pasikeitė, ir gali pratęsti nutrūkusį kopijavimą. Ji turi būti įdiegta abiejose pusėse (apt install rsync).

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

Atkreipkite dėmesį į pasvirąjį brūkšnį po ./site/: su juo rsync kopijuoja aplanko turinį, be jo kopijuoja patį aplanką (tuomet gausite /var/www/example.com/site/). Jei abejojate, pirmiausia išbandykite su --dry-run ir būkite labai atsargūs su --delete, nes ši parinktis gaunančioje pusėje ištrina viską, ko nėra pas Jus.

sftp ir grafinės programos, tokios kaip FileZilla ar WinSCP, naudoja tą patį SSH ryšį ir tą patį raktą. Todėl atskiro FTP serverio nereikia. Senoviško FTP serverio VPS diegti nerekomenduojama: įprastas FTP siunčia Jūsų slaptažodį tinklu nešifruotą.

Tunelis vietoj atviro prievado

Tai bene naudingiausia SSH galimybė. Tarkime, Jūsų serveryje veikia PostgreSQL duomenų bazė. Norite ją pasiekti iš nešiojamojo kompiuterio grafine programa. Pagunda atverti prievadą 5432 internetui yra didelė. Nedarykite to: atviri duomenų bazių prievadai yra viena didžiausių duomenų nutekėjimo priežasčių (pamoka 10.2), o vėliau kursas iš išorės patikrins, ar jie uždaryti (užduotis Z5.1).

Naudodami vietinį prievadų peradresavimą, leidžiate SSH sukurti tunelį:

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

Skaitykite tai taip: „klausytis mano nešiojamajame kompiuteryje prievade 5432 ir viską, kas ten ateina, per SSH ryšį siųsti į 127.0.0.1:5432, žiūrint iš serverio“. Kol ši sesija atvira, duomenų bazės programą jungiate prie localhost prievado 5432 savo nešiojamajame kompiuteryje ir pasiekiate duomenų bazę serveryje.

Kodėl tai taip gerai?

  • Duomenų bazė serveryje klausosi tik 127.0.0.1 ir iš išorės yra nepasiekiama.
  • Ryšį šifruoja SSH, net jei pati duomenų bazė šifravimo neturi.
  • Prieigą gauna tik tas, kas gali prisijungti per SSH. Taigi naudojate jau turimą stiprią apsaugą.

Jei Jūsų nešiojamajame kompiuteryje prievadą 5432 jau kas nors naudoja, kairėje pasirinkite kitą numerį: -L 15432:127.0.0.1:5432, ir junkitės prie prievado 15432. Jei tunelį įrašysite į ~/.ssh/config, jis visada bus po ranka:

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

Su ssh -N web1-db gaunate tik tunelį, be komandinės eilutės.

Per tarpinį serverį: ProxyJump

Kartais serverį galima pasiekti tik per kitą serverį, pavyzdžiui, duomenų bazės serverį be viešo IP adreso už Jūsų žiniatinklio serverio. ProxyJump per pirmąjį serverį peršoka į antrąjį:

Host db1
    HostName 10.0.0.5
    User anna
    ProxyJump web1

Skirtumas nuo agento peradresavimo (agent forwarding, pamoka 2.1): naudojant ProxyJump, šifravimas veikia nuo pradžios iki galo tarp Jūsų nešiojamojo kompiuterio ir db1. Tarpinis serveris tik perduoda paketus ir negali naudoti Jūsų rakto.

Kitas prievado numeris: verta ar ne?

Daugelyje vadovų patariama perkelti SSH į kitą prievadą, pavyzdžiui, 2222. Ką tai iš tikrųjų duoda?

  • Tai sumažina triukšmą: dauguma automatizuotų spėliojimo bandymų bando tik prievadą 22. Jūsų žurnalas tampa ramesnis.
  • Tai nėra apsauga. Skeneris, tikrinantis visus prievadus, per kelias sekundes atpažįsta SSH pagal versijos banerį.

Kai naudojate raktus ir prisijungimas slaptažodžiu išjungtas (pamoka 2.2), prievadas saugumui beveik neturi reikšmės. Jei vis tiek norite jį pakeisti, darykite tai teisinga tvarka: atverkite naująjį prievadą užkardoje, leiskite SSH klausytis abiejuose prievaduose, išbandykite antrame lange ir tik tada uždarykite senąjį prievadą. Ubuntu 24.04 ir naujesnėse versijose prie to priklauso systemctl daemon-reload ir systemctl restart ssh.socket (pamoka 2.2). Nepamirškite, kad Jūsų paslaugų teikėjas taip pat gali turėti užkardą.

Prieigos atšaukimas

Buvęs kolega ar svetainių kūrėjas turėjo raktą Jūsų serveryje, bet nebedirba su Jumis? Atšaukti prieigą paprasta, jei tai sekate:

  1. Peržiūrėkite visus raktus: ssh-keygen -lf ~/.ssh/authorized_keys, ir padarykite tai kiekvienam naudotojui (taip pat /root/.ssh/authorized_keys).
  2. Pašalinkite to asmens eilutę.
  3. Jei jis naudojo atskirą naudotojo paskyrą, užrakinkite ją (pamoka 3.1) ir patikrinkite, ar jis buvo grupėje sudo (pamoka 3.2).
  4. Jei jis matė slaptažodžius, pavyzdžiui, duomenų bazės slaptažodį konfigūracijos faile, pakeiskite ir juos.

Įprastas raktas neturi galiojimo pabaigos datos. Tai, ko nepašalinsite, veiks ir po daugelio metų. Jei kam nors suteikiate laikiną prieigą, prieš jo eilutę faile authorized_keys galite įrašyti parinktį expiry-time="20261231"; po šios datos serveris raktą atmes.

Santrauka

  • ~/.ssh/config Jūsų kompiuteryje kiekvienam serveriui saugo vardą, naudotoją, prievadą ir raktą; Host * rašoma apačioje.
  • scp skirta atskiriems failams, rsync aplankams (atkreipkite dėmesį į pasvirąjį brūkšnį ir --delete), sftp vietoj FTP.
  • Su ssh -L pasiekiate duomenų bazę per šifruotą tunelį, o duomenų bazės prievadas iš išorės lieka uždarytas.
  • ProxyJump saugiai peršoka per tarpinį serverį; tai geriau nei agento peradresavimas.
  • Kitas prievado numeris sumažina triukšmą, bet neapsaugo. Nepašalinti raktai ir toliau veikia.

Testas (quiz)

1. Ką daro ssh -L 15432:127.0.0.1:5432 web1?



2. Kodėl SSH tunelis į duomenų bazę geriau nei prievado 5432 atvėrimas užkardoje?



3. Perkeliate SSH į prievadą 2222. Koks svarbiausias poveikis?



4. Jūsų ~/.ssh/config viršuje yra Host * su User root, o toliau Host web1 su User anna. Kokiu naudotoju prisijungsite prie ssh web1?



5. Svetainių kūrėjas turėjo savo SSH raktą Jūsų serveryje ir nebedirba su Jumis. Kas NĖRA pakankama?



Užduotis

Užduotis O2.3: SSH konfigūracija ir tunelis. Savo kompiuteryje sukurkite ~/.ssh/config su savo serverio slapyvardžiu, prisijunkite naudodami tik ssh <bijnaam>, nukopijuokite failą su scp arba rsync ir sukurkite tunelį su -L į paslaugą, kuri Jūsų serveryje klausosi tik 127.0.0.1 (jei duomenų bazės dar neturite, naudokite paties serverio prievadą 22: ssh -L 2200:127.0.0.1:22 <bijnaam>, o po to ssh -p 2200 anna@localhost). Atsakykite į klausimus apie tai, ką daro tunelis ir kodėl prievado atverti nereikia.

Užduotis O2.3: SSH konfigūracija ir tunelis

Šią užduotį atliekate patys; niekas jos netikrina. Pažymėkite, ką atlikote, ir pažymėkite užduotį kaip atliktą.




Jūsų pažymėti varneliai ir pastabos lieka tik šioje naršyklėje; niekur jų nesiunčiame. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotį atlikote.

Skaitykite daugiau

Šiuose straipsniuose aprašyti veiksmai taikomi WebOké VPS ir valdymo skydeliams; pas kitus paslaugų teikėjus viskas veikia panašiai.

Akimirką…

Nustatykite domenus

Kiekvienam domenui nustatykite vardų serverius, susiejimą su talpinimu ir tai, kas taps valdytoju.

Įkeliami Jūsų domenai…