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

Izrada i korištenje SSH ključeva

Modul 2: SSH i ključevi · Vrijeme čitanja: 10 minuta

Cilj učenja: Nakon ove lekcije znat ćete izraditi par ključeva, postaviti javni ključ na svoj poslužitelj, prijaviti se bez lozinke i čuvati svoj privatni ključ tako da izgubljeno prijenosno računalo ne postane katastrofa.

Ključni pojmovi: par ključeva, javni ključ, privatni ključ, ed25519, RSA, passphrase (zaporka ključa), ssh-agent, ssh-copy-id, authorized_keys, prava 700 i 600, ključ po uređaju, FIDO2 ključ

Zašto su ključevi bolji od lozinki

U lekciji 1.3 prijavili ste se lozinkom. To funkcionira, ali poslužitelj na internetu od prve minute dobiva posjete programa koji pogađaju lozinke. Pogledajte zapisnik novog poslužitelja:

root@web1:~# journalctl -u ssh --since "1 hour ago" | grep -c "Failed password"
214

Stotine pokušaja na sat sasvim su uobičajene. Jaka lozinka će ih zaustaviti, ali time ste stvorili slabu točku koja Vam nije potrebna. Uz SSH ključ pogađanje nema smisla: nema ničega što bi se moglo pogoditi s popisa riječi.

Ključ se sastoji od dva dijela koja pripadaju jedan drugome, a zajedno čine par ključeva:

  • Privatni ključ ostaje na Vašem računalu. Tko ima tu datoteku (i zna passphrase), može se prijaviti. Ne dijelite ga ni s kim, pa ni sa svojim pružateljem usluge ili korisničkom podrškom.
  • Javni ključ dajete poslužitelju. Njega smije vidjeti svatko: njime se ne možete prijaviti, može služiti samo za provjeru.

Pri prijavi poslužitelj ne šalje lozinku preko veze. Vaše računalo potpisom dokazuje da posjeduje privatni ključ, a poslužitelj taj potpis provjerava javnim ključem. Čak i ako netko prati promet na mreži, ne vidi ništa što bi kasnije mogao ponovno upotrijebiti.

Izrada ključa

Ključ izrađujete na vlastitom računalu, ne na poslužitelju. Windows 10 i 11, macOS i Linux već imaju ssh-keygen. Otvorite PowerShell ili Terminal:

anna@laptop:~$ ssh-keygen -t ed25519 -C "anna@laptop 2026"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/anna/.ssh/id_ed25519):
Enter passphrase for "/home/anna/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/anna/.ssh/id_ed25519
Your public key has been saved in /home/anna/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026

Što se ovdje događa?

  • -t ed25519 odabire vrstu ključa. Ed25519 je kratak, brz i siguran, a od verzije OpenSSH 9.5 to je i zadana vrsta ako ništa ne navedete. Morate li raditi sa starim sustavom koji ne poznaje ed25519, upotrijebite RSA s najmanje 3072 bita: ssh-keygen -t rsa -b 4096. Starije vrste poput DSA uklonjene su iz OpenSSH-a; nemojte ih koristiti.
  • -C je samo komentar. Upišite nešto po čemu ćete kasnije prepoznati s kojeg je uređaja ključ. To jako pomaže kada ključ morate opozvati.
  • Passphrase šifrira privatni ključ na Vašem disku. Ako Vam ukradu prijenosno računalo, lopov ima samo šifriranu datoteku. Bez passphrasea odmah ima pristup svim Vašim poslužiteljima.

Sada imate dvije datoteke:

DatotekaŠto jeDijeliti?
~/.ssh/id_ed25519Privatni ključNikada
~/.ssh/id_ed25519.pubJavni ključ, jedan redak tekstaDa, na poslužitelj

Na Windowsima se nalaze u C:\Users\anna\.ssh\. Javni ključ je jedan redak koji počinje s ssh-ed25519:

anna@laptop:~$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHk2... anna@laptop 2026

Postavljanje javnog ključa na poslužitelj

Poslužitelj traži javne ključeve u datoteci ~/.ssh/authorized_keys korisnika kojim se prijavljujete. Svaki redak je jedan ključ. Postoje tri načina da ključ dospije onamo:

1. Pri instalaciji. Većina pružatelja usluga pri izradi ili ponovnoj instalaciji VPS-a nudi polje za Vaš javni ključ. Kod WebOké to se polje zove "SSH ključ" na zaslonu VPS-a; kod drugih pružatelja funkcionira slično. Ovo je najbolji način: tada prijava lozinkom nikada ne mora biti uključena.

2. Pomoću ssh-copy-id (macOS i Linux), dok prijava lozinkom još radi:

anna@laptop:~$ ssh-copy-id anna@192.0.2.10
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed
anna@192.0.2.10's password:
Number of key(s) added: 1

3. Ručno, primjerice s Windowsa ili putem konzole Vašeg pružatelja usluga. Zalijepite redak iz svoje datoteke .pub u authorized_keys i ispravno postavite prava:

anna@web1:~$ mkdir -p ~/.ssh
anna@web1:~$ nano ~/.ssh/authorized_keys
anna@web1:~$ chmod 700 ~/.ssh
anna@web1:~$ chmod 600 ~/.ssh/authorized_keys

Ta prava nisu sitnica. SSH poslužitelj ih provjerava (postavka StrictModes zadano je uključena): ako drugi smiju pisati u Vašu mapu .ssh ili Vašu početnu mapu, poslužitelj zanemaruje Vaše ključeve. Tada ćete jednostavno ponovno vidjeti upit za lozinku, bez jasne poruke o pogrešci. Kako se čitaju prava, naučit ćete u lekciji 3.1.

Zatim testirajte u novom prozoru:

anna@laptop:~$ ssh anna@192.0.2.10
Enter passphrase for key '/home/anna/.ssh/id_ed25519':
anna@web1:~$

Upit sada dolazi s Vašeg računala (passphrase Vašeg ključa), a ne više s poslužitelja.

ssh-agent: otključajte samo jednom

Svaki put upisivati passphrase je naporno. ssh-agent drži Vaš otključani ključ u memoriji dok ste prijavljeni na svoje računalo:

anna@laptop:~$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/anna/.ssh/id_ed25519:
Identity added: /home/anna/.ssh/id_ed25519 (anna@laptop 2026)
anna@laptop:~$ ssh-add -l
256 SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026 (ED25519)

Na macOS-u se agent povezuje s privjeskom ključeva (Keychain), a na Windowsima je to usluga "OpenSSH Authentication Agent" (jednokratno je uključite u Uslugama, Services). Tako imate udobnost prijave bez lozinke, a ključ na disku ipak ostaje šifriran.

Oprezno s agent forwardingom (ssh -A): njime poslužitelj na koji se prijavljujete smije koristiti Vaš agent. Tko je root na tom poslužitelju, tada može nastaviti dalje s Vašim ključem. Koristite to samo na poslužiteljima kojima potpuno vjerujete ili umjesto toga upotrijebite ProxyJump (lekcija 2.3).

Jedan ključ po uređaju i znati koji se gdje nalazi

Česta pogreška: kopirati jedan privatni ključ na prijenosno računalo, stolno računalo i telefon. Izgubite li jedan uređaj, morate posvuda zamijeniti ključ i ponovno postaviti sve uređaje. Bolje je ovako:

  • na svakom uređaju izradite zaseban ključ s jasnim komentarom (-C "anna@telefoon");
  • sve javne ključeve stavite u authorized_keys, jedan po retku;
  • izgubite li uređaj, uklonite samo taj jedan redak.

Redovito provjeravajte koji ključevi imaju pristup:

anna@web1:~$ ssh-keygen -lf ~/.ssh/authorized_keys
256 SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026 (ED25519)
256 SHA256:Zt5oP1yW8eQ3rK6sV0bN9mD2xA4cH7jL1uI5fG8tE3w anna@telefoon (ED25519)

Ako ondje vidite ključ koji ne prepoznajete, to je znak za uzbunu (lekcija 10.3). Napadači rado dodaju vlastiti ključ u authorized_keys kako bi se kasnije mogli vratiti.

Hardverski ključ (FIDO2, primjerice YubiKey) također je mogućnost. Uz ssh-keygen -t ed25519-sk tajni dio nalazi se na samom ključu i morate ga dodirnuti pri svakoj upotrebi. Ukradena datoteka tada je bezvrijedna. To je lijep korak dalje, ali za početak nije nužan.

Izgubili ste privatni ključ?

Izgubite li svoj jedini privatni ključ, a prijava lozinkom je isključena, putem SSH-a više ne možete ući. Zato:

  • na poslužitelj uvijek stavite barem dva ključa (primjerice s prijenosnog i stolnog računala);
  • znajte kako radi konzola Vašeg pružatelja usluga (lekcija 1.2). Ondje se prijavljujete kao da ste na poslužitelj priključili tipkovnicu, a to radi i bez SSH-a. Kod WebOké se to zove Konzola na zaslonu VPS-a; drugi pružatelji to nazivaju VNC konzola, web konzola ili konzola za hitne slučajeve.

Na AlmaLinuxu i Rocky Linuxu

Sve u ovoj lekciji funkcionira jednako. Jedna dodatna zamka: kada je SELinux uključen, ~/.ssh mora imati ispravnu sigurnosnu oznaku. Ako ste mapu izradili ručno ili kopirali i Vaš se ključ zanemaruje, restorecon -Rv ~/.ssh to ispravlja.

Sažetak

  • Par ključeva sastoji se od privatnog ključa (ostaje kod Vas) i javnog ključa (ide na poslužitelj, u ~/.ssh/authorized_keys).
  • Ključeve izrađujte naredbom ssh-keygen -t ed25519 na vlastitom računalu, s passphraseom; radi udobnosti koristite ssh-agent.
  • Prava su važna: ~/.ssh na 700 i authorized_keys na 600, inače poslužitelj zanemaruje Vaš ključ.
  • Jedan ključ po uređaju, s jasnim komentarom, kako biste mogli opozvati samo jedan.
  • Osigurajte drugi ključ i upoznajte konzolu svog pružatelja usluga kao ulaz za hitne slučajeve.

Kviz

1. Koju datoteku smijete dati svom pružatelju usluga ili kolegi kako biste dobili pristup poslužitelju?



2. Stavili ste svoj ključ u authorized_keys, ali poslužitelj i dalje traži lozinku. Koji je čest uzrok?



3. Zašto postavljate passphrase na svoj privatni ključ?



4. Ukradeno Vam je prijenosno računalo. Na poslužitelju su tri ključa: prijenosno računalo, stolno računalo i telefon, svaki sa svojim komentarom. Što učinite?



5. Koji je rizik korištenja ssh -A (agent forwarding) prema poslužitelju kojem ne vjerujete?



Zadatak

Zadatak O2.1: Izrada i korištenje ključa. Na vlastitom računalu izradite ed25519 ključ s passphraseom i jasnim komentarom, postavite ga na svoj poslužitelj (putem polja svog pružatelja usluga, pomoću ssh-copy-id ili ručno), provjerite prava i u novom se prozoru prijavite ključem. Zatim upišite otisak (fingerprint) svog ključa (iz ssh-keygen -lf ~/.ssh/id_ed25519.pub) i odgovorite na pitanja o tome gdje se nalazi Vaš privatni ključ i što ćete učiniti ako ga izgubite. Program provjerava samo ima li otisak ispravan oblik; ostalo radite sami.

Zadatak O2.1: Izrada i korištenje ključa

Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.




Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.

Dodatno štivo

Koraci u ovim člancima odnose se na zaslon VPS-a i upravljačke ploče tvrtke WebOké; kod drugih pružatelja usluga funkcionira slično.

Trenutak…

Postavite svoje domene

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

Učitavanje Vaših domena…