SSH upravljanje
Učni list 2: Vzpostavitev SSH storitve za oddaljeno upravljanje¶
Namen vaje¶
Tvoja naloga je, da namestiš, zaženeš in preveriš SSH strežnik ter razumeš, kako deluje varen oddaljeni dostop do strežnika.
Kako brati mikro razlage¶
- razčlenitev sintakse — kaj pomeni posamezni del ukaza
- kaj se zgodi po pritisku Enter — neposredna posledica v sistemu ali omrežju
- na kaj ukaz vpliva — datoteka, proces ali port
- kaj pričakuješ kot rezultat — konkretna kontrolna točka
Cilj je, da ne ostaneš na ravni prepisal sem ukaz, ampak prideš do ravni vem, zakaj sem ga izvedel in kaj moram po njem preveriti.
Cilji¶
- znaš namestiti SSH strežnik
- razumeš razliko med SSH klientom in SSH strežnikom
- znaš preveriti, ali servis posluša na pravem portu
- znaš se povezati s klienta na strežnik
- razumeš prednost prijave s ključi pred geslom
Potrebna oprema in predznanje¶
- uspešno zaključena priprava okolja
- klient doseže strežnik na naslovu 192.168.56.10
- osnovni ukazi:
systemctl,ss,journalctl,ssh
Teorija v ozadju¶
SSH pomeni Secure Shell. Gre za protokol, ki omogoča varen oddaljeni dostop, izvajanje ukazov in prenos datotek. Privzeto posluša na TCP portu 22.
SSH je za sistemca to, kar je volan za avto. Brez njega lahko strežnik sicer obstaja, a ga je mučno upravljati. Posebej na sistemih brez grafičnega vmesnika je SSH glavni delovni kanal.
Pomembno je razlikovati med klientom in strežnikom. Ukaz ssh na klientu samo kliče storitev. Storitev pa mora na strežniku dejansko teči, sicer kličeš v prazno.
Pri sodobni rabi je priporočljivo uporabljati prijavo z javnim ključem. Tako se izogneš ponavljajočemu ugibanju gesel in izboljšaš avtomatizacijo.
Na kaj je treba paziti¶
- Ne onemogoči prijave z geslom, dokler nisi preveril, da prijava s ključem res deluje.
- Če vklopiš požarni zid, moraš prej dovoliti SSH, sicer si lahko sam elegantno zabrišeš dostop do strežnika.
- Prvo opozorilo o prstnem odtisu strežnika je normalno. Strašljivo je samo prvič, potem je to rutina.
Kako brati to vajo
Vsak korak ima tri plasti: kaj narediš, kaj ukaz pomeni in kaj se v ozadju zgodi v sistemu ali omrežju. Cilj ni slepo kopiranje ukazov, ampak razumevanje, zakaj posamezni korak obstaja.
Navodila po korakih¶
1. Posodobi seznam paketov in namesti SSH strežnik¶
Kaj narediš
Na strežniku posodobi podatke o paketih in namesti openssh-server.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo apt update
- Razčlenitev sintakse:
sudoukaz izvede z administratorskimi pravicami.aptje upravljalnik paketov na Debian/Ubuntu sistemih.updatene namešča programov; samo osveži lokalni seznam paketov iz repozitorijev.- Kaj se zgodi po pritisku Enter: Sistem osveži lokalne informacije o paketih. Ni še spremembe storitev, ampak priprava na korektno namestitev ali posodobitev.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo apt install openssh-server -y
- Razčlenitev sintakse:
installnamesti navedene pakete:openssh-server.-ysamodejno potrdi namestitev.- Kaj se zgodi po pritisku Enter: Na sistem se namesti nov paket oziroma storitev. Ob tem se pogosto ustvarijo konfiguracijske datoteke, sistemska enota
systemdin včasih se servis zažene že sam. - Na kaj ta ukaz vpliva:
- Procesi/storitve:
ssh - Porti:
22/TCP - Kaj pričakuješ kot rezultat: Paket se namesti brez napake, na koncu pa ni vrstice tipa
E:alifailed.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
apt update osveži seznam razpoložljivih paketov iz repozitorijev. apt install openssh-server pa na sistem namesti program sshd, sistemsko enoto in privzete konfiguracijske datoteke.
Kaj se dogaja v ozadju
Ko je paket nameščen, dobi sistem nov proces, ki lahko posluša omrežni port. To je pomemben miselni preskok: servis ni “ukaz”, servis je trajno delujoč proces v ozadju.
Kaj moraš opaziti
Po namestitvi se običajno servis sam zažene. Sistem izpiše, kateri paketi so bili dodani.
Če ne dela, preveri
- Če
apt updatene deluje, preveri NAT povezavo ali DNS delovanje za internetne domene. - Če se paket ne najde, preveri, ali uporabljaš Debian/Ubuntu sistem.
2. Preveri stanje servisa¶
Kaj narediš
Preveri, ali SSH storitev teče in ali je nastavljena za samodejni zagon.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo systemctl status ssh
- Razčlenitev sintakse:
systemctlupravlja storitve vsystemd.status sshpokaže, ali je enotasshaktivna, kdaj je bila zagnana in ali je javila napake.- Kaj se zgodi po pritisku Enter: Ne spreminja sistema, ampak ti da opazovalno točko: ali storitev teče, od kdaj teče in ali javlja napake.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: V izpisu iščeš stanje
active (running)ali vsaj jasen razlog, zakaj storitev ni aktivna.
Ukaz 2: sudo systemctl enable --now ssh
- Razčlenitev sintakse:
enablenastavi, da se enotasshzažene tudi ob naslednjem zagonu sistema.--nowpomeni, da se enota hkrati zažene še takoj.- Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
systemctl status ssh pokaže, ali je enota aktivna, kdaj je bila zagnana in ali je javila napake. enable --now pomeni: omogoči ob zagonu sistema in jo zaženi takoj.
Kaj se dogaja v ozadju
Na sodobnih Linux sistemih servis upravlja systemd. To je orodje, ki skrbi za zaganjanje, ustavljanje, ponovne zagone in odvisnosti med storitvami.
Kaj moraš opaziti
Pričakuješ stanje active (running).
Če ne dela, preveri
- Če status kaže
failed, preberi zadnje vrstice izpisa ali uporabijournalctl -u ssh. - Če enote
sshni, paket verjetno ni pravilno nameščen.
3. Preveri, ali servis posluša na portu 22¶
Kaj narediš
Poglej, ali proces sshd posluša na pravem portu.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: ss -tulpen | grep :22
- Razčlenitev sintakse:
sspokaže odprte mrežne vtičnice.-tprikaže TCP,-uUDP,-lposlušajoče vtičnice,-pprocese,-edodatne podatke,-nnumerične porte brez pretvarjanja v imena.grep :22izloči vrstice za port22.- Kaj se zgodi po pritisku Enter: Pregleduješ stanje mrežnih vtičnic v jedru. Tako preveriš, ali je storitev res odprla pričakovani port.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: V izpisu vidiš pričakovani port in pravilni proces, ki posluša promet.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Ukaz ss prikaže odprte TCP/UDP porte in procese, ki so nanje vezani. To ni več “verjamem, da servis dela”, ampak dejanski dokaz, da sistem posluša promet na določeni vtičnici.
Kaj se dogaja v ozadju
Ko strežnik posluša na portu 22/TCP, to pomeni, da je v jedru odprta mrežna vtičnica, ki sprejema povezave za ta servis.
Kaj moraš opaziti
V izpisu moraš videti port 22 in proces sshd.
Če ne dela, preveri
- Če je servis aktiven, a porta ni v izpisu, je morda konfiguriran na drug port ali pa se ni pravilno zagnal.
4. Preglej osnovne varnostne nastavitve SSH¶
Kaj narediš
Odpri konfiguracijsko datoteko in preveri ključne nastavitve.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo nano /etc/ssh/sshd_config
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/ssh/sshd_config. Če datoteka še ne obstaja, jo boš ob shranjevanju ustvaril. - Kaj se zgodi po pritisku Enter: Sprememba se še ne zgodi v teku storitve. Najprej spremeniš datoteko na disku; učinek nastopi šele po restartu ali reloadu storitve.
- Na kaj ta ukaz vpliva:
- Datoteke:
/etc/ssh/sshd_config - Procesi/storitve:
ssh - Porti:
22/TCP - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Primer konfiguracije
Kaj ta korak pomeni
PermitRootLogin no prepreči neposredno prijavo uporabnika root. PasswordAuthentication yes začasno pusti prijavo z geslom, dokler ne pripraviš ključev. PubkeyAuthentication yes omogoči prijavo z javnim ključem.
Kaj se dogaja v ozadju
SSH ob vzpostavitvi povezave preveri, katere metode overjanja so dovoljene. Te vrstice določajo, ali bo sprejel geslo, ključ ali neposredno root prijavo.
Kaj moraš opaziti
Po spremembi konfiguracije datoteko shrani, nato servis ponovno zaženi.
Če ne dela, preveri
- Če narediš tipkarsko napako v konfiguraciji, se servis po restartu lahko ne zažene. Vedno spremljaj
systemctl status ssh.
5. Ponovno zaženi servis po spremembi konfiguracije¶
Kaj narediš
Naloži novo konfiguracijo SSH.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo systemctl restart ssh
- Razčlenitev sintakse:
restartustavi in ponovno zažene enotossh. To je potrebno po spremembi konfiguracije.- Kaj se zgodi po pritisku Enter: Proces storitve ponovno prebere konfiguracijo. Če je konfiguracija napačna, se storitev lahko ne zažene ali ostane v stanju napake.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo systemctl status ssh
- Razčlenitev sintakse:
systemctlupravlja storitve vsystemd.status sshpokaže, ali je enotasshaktivna, kdaj je bila zagnana in ali je javila napake.- Kaj se zgodi po pritisku Enter: Ne spreminja sistema, ampak ti da opazovalno točko: ali storitev teče, od kdaj teče in ali javlja napake.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: V izpisu iščeš stanje
active (running)ali vsaj jasen razlog, zakaj storitev ni aktivna.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Dokler servisa ne zaženeš znova ali ne narediš reload, nova konfiguracija živi samo v datoteki. Servis še vedno uporablja staro stanje v pomnilniku.
Kaj se dogaja v ozadju
Proces sshd prebere konfiguracijo ob zagonu oziroma ob zahtevi za ponovno nalaganje.
Kaj moraš opaziti
Status mora ostati active (running).
Če ne dela, preveri
- Če po restartu servis pade, takoj preglej status in dnevnike. Ne ugibaj.
6. S klienta preveri, ali dosežeš strežnik¶
Kaj narediš
Na klientu najprej preveri IP povezljivost, nato poskusi SSH prijavo.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: ping -c 4 192.168.56.10
- Razčlenitev sintakse:
pingpošilja ICMP echo zahtevke na cilj192.168.56.10.-c 4pomeni, da pošlje natančno 4 pakete in se nato ustavi.- Kaj se zgodi po pritisku Enter: Pošljejo se ICMP paketi. S tem preverjaš osnovno dosegljivost med napravami ali pravilno delovanje imen v DNS.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Prejmeš odgovore brez 100 % izgube paketov in z razumno nizkim časom v laboratorijskem okolju.
Ukaz 2: ssh uporabnik@192.168.56.10
- Razčlenitev sintakse:
sshodpre šifrirano sejo do strežnika192.168.56.10.- Uporabniško ime za prijavo je
uporabnik. - Kaj se zgodi po pritisku Enter: Vzpostavi se šifrirana TCP seja do strežnika. Pri prvi povezavi se preverja identiteta strežnika, nato pa sledi avtentikacija uporabnika.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Prideš do prijavnega poziva ali neposredno v oddaljeno lupino. Pri prvi prijavi se prikaže opozorilo o prstnem odtisu strežnika.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Najprej preveriš omrežje, šele nato aplikacijski servis. To je zdrava diagnostika: od nižje plasti proti višji. Če ping ne dela, je popolnoma nesmiselno ugibati o SSH konfiguraciji.
Kaj se dogaja v ozadju
Ko zaženeš ssh uporabnik@strežnik, klient odpre TCP povezavo na port 22, preveri identiteto strežnika, nato izvede izmenjavo ključev in šifriranje.
Kaj moraš opaziti
Pri prvi prijavi bo sistem vprašal za potrditev prstnega odtisa strežnika. To sprejmi, nato vnesi geslo uporabnika na strežniku.
Če ne dela, preveri
- Če dobiš
Connection refused, port ni odprt ali servis ne teče. - Če dobiš
No route to hostali časovni potek, je težava v omrežju ali požarnem zidu.
7. Ustvari datoteko v oddaljeni SSH seji¶
Kaj narediš
Po uspešni prijavi na strežniku ustvari testno datoteko.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: mkdir -p ~/lab
- Razčlenitev sintakse:
mkdirustvari mapo.-pposkrbi, da se ustvarijo tudi manjkajoče nadrejene mape in da ukaz ne pade, če mapa že obstaja.- Ustvarja se pot
~/lab. - Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: echo "SSH povezava deluje" > ~/lab/test.txt
- Razčlenitev sintakse:
echoizpiše besediloSSH povezava deluje.- Preusmeritev
>prepiše ciljno datoteko~/lab/test.txtz novim besedilom. - Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 3: cat ~/lab/test.txt
- Razčlenitev sintakse:
catprebere in izpiše vsebino datoteke~/lab/test.txtna terminal.- Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Namen ni v datoteki sami, ampak v dokazu, da oddaljena seja res deluje in da ne gre samo za uspešen login banner.
Kaj se dogaja v ozadju
Vsak ukaz teče na strežniku, čeprav ga vnašaš s klienta. To je bistvo oddaljene administracije: terminal je pri tebi, izvajanje pa tam.
Kaj moraš opaziti
Izpis cat mora prikazati vsebino datoteke.
Če ne dela, preveri
- Če ukazi tečejo, a ne moreš pisati v direktorij, preveri uporabniške pravice.
8. Preglej dnevnike SSH prijav¶
Kaj narediš
Na strežniku preglej nedavne zapise za SSH.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo journalctl -u ssh --since "10 minutes ago"
- Razčlenitev sintakse:
journalctlbere sistemske dnevnike.-u sshfiltrira zapise za enotossh.--since "10 minutes ago"pokaže samo novejše zapise od navedenega časa dalje.- Kaj se zgodi po pritisku Enter: Bereš dnevniške zapise, zato se stanje sistema ne spremeni. To je diagnostični korak.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Dnevniki povedo, kdo se je prijavil, kdaj in ali so bili neuspešni poskusi. To je ključno pri diagnostiki in varnosti.
Kaj se dogaja v ozadju
Servisi zapisujejo pomembne dogodke v journald oziroma sistemske dnevnike. Sistemec brez logov je kot kirurg brez luči.
Kaj moraš opaziti
Poišči uspešno prijavo, IP klienta in morebitne neuspešne poskuse.
Če ne dela, preveri
- Če zapisa ni, preveri, ali si gledal pravi časovni interval.
9. Na klientu ustvari par ključev in jih prenesi na strežnik¶
Kaj narediš
Pripravi prijavo z javnim ključem.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: ssh-keygen -t ed25519
- Razčlenitev sintakse:
ssh-keygenustvari par ključev za SSH.-t ed25519določi vrsto ključa;ed25519je sodobna in varna izbira.- Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Datoteke:
~/.ssh/id_ed25519,~/.ssh/id_ed25519.pub - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: ssh-copy-id uporabnik@192.168.56.10
- Razčlenitev sintakse:
- Ukaz prenese javni ključ uporabnika na strežnik
192.168.56.10. - Ključ bo dodan v
~/.ssh/authorized_keysza uporabnikauporabnik. - Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Datoteke:
~/.ssh/authorized_keys - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 3: ssh uporabnik@192.168.56.10
- Razčlenitev sintakse:
sshodpre šifrirano sejo do strežnika192.168.56.10.- Uporabniško ime za prijavo je
uporabnik. - Kaj se zgodi po pritisku Enter: Vzpostavi se šifrirana TCP seja do strežnika. Pri prvi povezavi se preverja identiteta strežnika, nato pa sledi avtentikacija uporabnika.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Prideš do prijavnega poziva ali neposredno v oddaljeno lupino. Pri prvi prijavi se prikaže opozorilo o prstnem odtisu strežnika.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
ssh-keygen ustvari zasebni in javni ključ. ssh-copy-id prenese javni ključ v ~/.ssh/authorized_keys na strežniku. Ob naslednji prijavi klient dokaže identiteto z zasebnim ključem.
Kaj se dogaja v ozadju
Pri tej metodi geslo ni glavni dokaz identitete. Klient podpiše izziv, strežnik pa preveri podpis z javnim ključem. Zasebni ključ ostane samo na klientu.
Kaj moraš opaziti
Po uspešnem kopiranju ključev se prijava izvede brez vnosa sistemskega gesla strežnika ali pa samo z geslom za ključ, če si ga nastavil.
Če ne dela, preveri
- Če
ssh-copy-idne deluje, preveri, ali se z geslom še vedno lahko prijaviš. - Če je domači imenik ali
.sshmapa napačno zaščitena, bo strežnik ključ ignoriral.
10. Šele zdaj po želji onemogoči prijavo z geslom¶
Kaj narediš
Ko potrdiš, da ključi delujejo, lahko povečaš varnost z izklopom prijave z geslom.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo nano /etc/ssh/sshd_config
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/ssh/sshd_config. Če datoteka še ne obstaja, jo boš ob shranjevanju ustvaril. - Kaj se zgodi po pritisku Enter: Sprememba se še ne zgodi v teku storitve. Najprej spremeniš datoteko na disku; učinek nastopi šele po restartu ali reloadu storitve.
- Na kaj ta ukaz vpliva:
- Datoteke:
/etc/ssh/sshd_config - Procesi/storitve:
ssh - Porti:
22/TCP - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo systemctl restart ssh
- Razčlenitev sintakse:
restartustavi in ponovno zažene enotossh. To je potrebno po spremembi konfiguracije.- Kaj se zgodi po pritisku Enter: Proces storitve ponovno prebere konfiguracijo. Če je konfiguracija napačna, se storitev lahko ne zažene ali ostane v stanju napake.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Primer konfiguracije
Preden shraniš spremembo, naredi hiter varnostni preizkus
- odpri še en terminal in obstoječe SSH seje še ne zapiraj
- v novem terminalu preveri, ali se z ukazom
ssh uporabnik@192.168.56.10prijaviš brez gesla računa na strežniku - po prijavi zaženi
whoamiin preveri, ali si res prijavljen kot pravi uporabnik - šele ko ta prijava uspe, shrani
PasswordAuthentication noin restartaj servis
Kaj ta korak pomeni
Ta sprememba zmanjša napadalno površino, ker prepreči ugibanje gesel prek omrežja. Ampak samo, če imaš rezervno pot noter — torej delujoč ključ.
Kaj se dogaja v ozadju
SSH bo po tej spremembi pri overjanju preskočil metodo gesla in sprejemal le dovoljene alternative, npr. ključe.
Kaj moraš opaziti
Prijava s ključem še vedno deluje. Prijava samo z geslom pa ne več.
Če ne dela, preveri
- Če si se zaklenil ven, uporabi konzolo VirtualBox in popravi konfiguracijo lokalno.
Preverjanje delovanja¶
- [ ] paket
openssh-serverje nameščen - [ ] servis
sshteče in je omogočen ob zagonu - [ ] port 22/TCP posluša
- [ ] s klienta se je mogoče prijaviti na strežnik
- [ ] znaš pokazati razliko med prijavo z geslom in s ključem
Vprašanja za razmislek¶
- Zakaj je SSH varnejši od Telneta?
- Kaj je razlika med SSH klientom in SSH strežnikom?
- Zakaj prijava z javnim ključem praviloma velja za varnejšo?
- Kaj pomeni napaka
Connection refused?
Dodatni izziv¶
Spremeni SSH port na 2222, znova naloži servis in se poveži s klienta z ukazom ssh -p 2222 uporabnik@192.168.56.10. Nato razloži, zakaj to ni čudežna varnostna rešitev, ampak zgolj manjša ovira.
Mini povzetek¶
Po tej vaji moraš znati na kratko razložiti, kaj je vloga servisa vzpostavitev ssh storitve za oddaljeno upravljanje v omrežju, kateri proces ali konfiguracija ga omogoča in kako ga preverimo s klienta.