Prijeđite na sadržaj

Postavke kolačića

Za svaku vrstu odaberite koje kolačiće dopuštate. Svoj odabir uvijek možete promijeniti putem poveznice Postavke kolačića na dnu svake stranice. Izjava o privatnosti

Nužni

Uvijek uključeni

Potrebni za prijavu, čuvanje košarice i pamćenje Vaših odabira. Uvijek su uključeni.

Koji kolačići?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša sesija i to da ostanete prijavljeni
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cijena s PDV-om ili bez njega
  • wok_cookies: Vaš odabir kolačića, 12 mjeseci

Mjeri koji oglas dovodi do posjeta ili narudžbe, kako ne bismo plaćali oglase koji ništa ne donose.

Koji kolačići?
  • Google Ads putem Google Tag Managera (_gcl_au, _gcl_aw), do 90 dana
  • OpenAI Ads, oglasi u ChatGPT-u
  • wok_aff: preko kojeg ste partnera došli k nama (partnerski program), 60 dana

4,6

Država i jezik

Svaka država ima vlastitu stranicu, s cijenama i PDV-om te države.

Pogledajte

Prva SSH prijava

Modul 1: Vaš prvi poslužitelj · Vrijeme čitanja: 10 minuta

Cilj učenja: Nakon ove lekcije moći ćete se prvi put prijaviti na svoj poslužitelj putem SSH-a, provjeriti otisak (fingerprint) poslužitelja prije nego što mu povjerujete i znati što učiniti kad dobijete upozorenje da se identitet poslužitelja promijenio.

Ključni pojmovi: SSH, klijent i poslužitelj, priključak 22, banner s verzijom, host key, otisak (SHA256), known_hosts, trust on first use, "REMOTE HOST IDENTIFICATION HAS CHANGED", PowerShell i Terminal

Što je SSH

SSH (Secure Shell) je šifrirana veza kojom poslužiteljem upravljate na daljinu. Vi tipkate na svojem računalu, a naredbe se izvršavaju na poslužitelju. Sve što prolazi vezom, uključujući Vašu lozinku, je šifrirano.

Postoje dvije strane:

  • SSH klijent na Vašem računalu: program ssh. Na macOS-u i Linuxu dolazi standardno. Na Windows 10 (od verzije 1809) i Windows 11 OpenSSH klijent je dio sustava Windows; koristite ga u PowerShellu ili Windows Terminalu. Ako ga nema, dodajte ga putem Postavke, Dodatne značajke, "OpenSSH klijent". Programi s prozorima poput PuTTY-ja također rade, ali u ovom tečaju koristimo ssh.
  • SSH poslužitelj na VPS-u: program sshd (iz paketa OpenSSH). Standardno sluša na priključku 22.

Prijava

Prijavljujete se korisničkim imenom i adresom poslužitelja:

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

Ili imenom, ako ste ga postavili u DNS-u (lekcija 7.1):

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

Prvi put vidjet ćete nešto poput ovoga:

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])?

Ovo je najvažniji trenutak ove lekcije. Nemojte naslijepo upisati yes.

Host key i otisak

Svaki SSH poslužitelj ima jedan ili više host keyeva: parova ključeva kojima poslužitelj dokazuje tko je. Javni dijelovi nalaze se na poslužitelju u /etc/ssh/, na primjer /etc/ssh/ssh_host_ed25519_key.pub. Pri svakoj vezi poslužitelj pokazuje da posjeduje tajni dio.

Otisak (fingerprint) je kratki sažetak (hash) takvog javnog ključa. OpenSSH standardno prikazuje oblik SHA256: SHA256: nakon čega slijede 43 znaka.

Pitanje "Are you sure you want to continue connecting?" znači: Vaše računalo još ne poznaje ovaj poslužitelj. Tko jamči da razgovarate sa svojim VPS-om, a ne s nekim tko presreće promet? Nitko, osim ako sami ne usporedite otisak s pouzdanim izvorom.

Taj izvor je konzola Vašeg pružatelja usluge (lekcija 1.2). Tamo s poslužiteljem ne komunicirate preko mreže. Prijavite se u konzolu i zatražite otisak:

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

Ako se to točno podudara s onim što prikazuje klijent, upišite yes. Umjesto yes možete zalijepiti i sam otisak; tada ga ssh usporedi umjesto Vas. Ako se razlikuje, stanite i istražite zašto (pogrešna IP adresa, ponovno instaliran poslužitelj ili nešto ozbiljnije).

Pazite na vrstu: klijent navodi vrstu (ED25519, ECDSA ili RSA). Uspoređujte otisak iste vrste. Mnoge slike sustava (images) pri prvom pokretanju ispisuju otiske i u konzolu (cloud-init), između redaka poput BEGIN SSH HOST KEY FINGERPRINTS.

known_hosts i trust on first use

Kad upišete yes, vidjet ćete:

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

Klijent sprema ključ u ~/.ssh/known_hosts (na Windowsu C:\Users\<naam>\.ssh\known_hosts). Od sada ga pri svakoj vezi automatski uspoređuje. Taj se model zove trust on first use (TOFU, povjerenje pri prvoj upotrebi): prvi put morate sami provjeriti, a nakon toga nadzor preuzima klijent.

Zato je ta prva provjera tako važna: ako povjerujete pogrešnom ključu, klijent Vas poslije nikad više neće upozoriti.

Ako i sami radite na računalu s Debianom ili Ubuntuom, imena u known_hosts standardno su hashirana (HashKnownHosts yes u /etc/ssh/ssh_config), pa tamo nećete vidjeti čitljive IP adrese. Na Windowsu i macOS-u ona su zapisana čitljivo. Pretraživanje svugdje radi ovako:

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"

Ponekad ćete vidjeti ovo upozorenje:

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

Poslužitelj pokazuje drugi ključ od onoga koji Vaš klijent poznaje. ssh tada odbija uspostaviti vezu. Postoje dvije vrste uzroka:

NormalnoSumnjivo
Ponovno ste instalirali VPS (novi host keyevi)Ništa niste mijenjali, a ključ je ipak drugačiji
IP adresa dodijeljena je drugom poslužiteljuSpojeni ste na nepoznatu Wi-Fi mrežu
Namjerno ste zamijenili host keyeveOtisak u konzoli razlikuje se od onoga što klijent sada vidi

Ako postoji normalno objašnjenje, ponovno provjerite otisak u konzoli i tek nakon toga uklonite stari redak:

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

Pri sljedećoj vezi ponovno ćete dobiti pitanje kao prvi put i ponovno provjeriti. Nikad ne postavljajte StrictHostKeyChecking no u svojim postavkama kako biste se riješili upozorenja: time isključujete upravo onu zaštitu o kojoj je riječ.

Banner s verzijom

Prije nego što se išta šifrira, klijent i poslužitelj jedan drugome pošalju redak teksta: banner s verzijom. On je vidljiv svima na internetu. Vidjet ćete ga pomoću 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

Poslužitelj ovdje navodi koji protokol (2.0) i koji softver koristi. Debian i Ubuntu iza toga dodaju verziju paketa. To nije tajna koju morate skrivati: napadači ionako isprobavaju sve, a štitite se ažuriranjima (modul 4), ne drugačijim bannerom. Korisno je ipak to što po banneru izvana možete vidjeti radi li Vaš poslužitelj zaista na ažuriranoj verziji.

Na AlmaLinuxu i Rocky Linuxu

Prijava i otisci rade jednako. Usluga se zove sshd umjesto ssh (systemctl status sshd). Banner ne sadrži naziv distribucije, samo verziju OpenSSH-a.

Sažetak

  • SSH je šifrirana veza prema Vašem poslužitelju; ssh je klijent, a sshd poslužitelj na priključku 22.
  • Pri prvoj vezi klijent prikazuje otisak host keya. Usporedite ga s izlazom naredbe ssh-keygen -lf u konzoli prije nego što upišete yes.
  • Klijent sprema ključ u ~/.ssh/known_hosts i ubuduće sam upozorava (trust on first use).
  • "REMOTE HOST IDENTIFICATION HAS CHANGED" normalno je nakon ponovne instalacije; inače je sumnjivo. Stari redak uklonite tek nakon provjere, pomoću ssh-keygen -R.
  • Banner s verzijom je javan; zaštita dolazi od ažuriranja, ne od skrivanja.

Kviz

1. S čime uspoređujete otisak koji ssh prikazuje pri prvoj vezi?



2. Čemu služi ~/.ssh/known_hosts?



3. Ponovno ste instalirali VPS i dobivate "REMOTE HOST IDENTIFICATION HAS CHANGED". Koji je ispravan redoslijed?



4. Zašto je prva provjera kod trust on first use tako važna?



5. Što prikazuje banner s verzijom SSH poslužitelja?



Zadatak

Zadatak Z1.3: SSH banner i otisak (fingerprint) Vašeg poslužitelja. Upišite adresu svojeg poslužitelja, verziju softvera iz bannera (poput OpenSSH_9.6p1) i ED25519 otisak koji ste u konzoli dobili naredbom ssh-keygen -lf. Program uspostavlja jednu vezu na Vaš SSH priključak, čita banner i host key te ih uspoređuje. Ne prijavljuje se.

Zadatak Z1.3: SSH banner i otisak (fingerprint) Vašeg poslužitelja

Ne prijavljujemo se i ne isprobavamo lozinku ni ključ. Najprije pokažite da je poslužitelj Vaš: kliknite "Prikaži moj kod" i postavite datoteku /.well-known/weboke-cursus-<code>.txt koja sadrži samo taj kod na web-poslužitelj Vašeg naziva hosta. Dohvaćamo je izravno sa svake IP adrese koju provjeravamo (IPv4 i IPv6 zasebno); TXT zapis se ovdje ne računa. Provjera dolazi s heavy.webawere.nl (185.158.167.16 i 2a07:ae80:100:0:185:158:167:16), a ne s našeg web-poslužitelja. Samo za prijavljene polaznike; najviše 6 provjera po satu po poslužitelju. Kod ovog zadatka uspostavljamo jednu vezu i čitamo samo banner i ključ poslužitelja; u Vašem dnevniku neće se pojaviti pokušaj prijave.





Ono što unesete i što pronađemo ne spremamo. Vaš preglednik pamti Vaše odgovore i je li zadatak položen. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak (gotovo) uspješno riješili; ondje to možete i izbrisati.

Dodatno štivo

Trenutak…

Postavite svoje domene

Za svaku domenu odredite nameservere, povezivanje s hostingom i tko postaje vlasnik.

Učitavanje Vaših domena…