Kako osigurati SSH na Linux VPS-u

Autor: ONIE tim inženjera · Ažurirano 12. studenoga 2026. · 2 min čitanja

Javni VPS prima automatizirane pokušaje prijave već nekoliko minuta nakon pokretanja. Ovi koraci znatno otežavaju napade na SSH. Pisani su za Ubuntu ili Debian. Ako još niste napravili poslužitelj, možete iznajmiti Linux VPS i započeti s čistom slikom. Držite trenutačnu SSH sesiju otvorenom dok ne provjerite nove postavke iz drugog prozora.

1. Izradite običnog korisnika sa sudo ovlastima

adduser deploy
usermod -aG sudo deploy

2. Umjesto lozinki koristite SSH ključeve

Na vlastitom računalu:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

Prijavite se jednom ključem kako biste potvrdili da radi, prije nego isključite lozinke.

3. Isključite prijavu lozinkom i root računom

Izradite /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Provjerite sintaksu i ponovno učitajte uslugu. Usluga se zove ssh na Ubuntu i Debian sustavima, a sshd na sustavima temeljenim na RHEL-u:

sudo sshd -t && sudo systemctl reload ssh

Otvorite drugi terminal i ponovno se prijavite. Tek tada zatvorite staru sesiju.

4. Uključite vatrozid

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Otvorite samo portove koji su vam potrebni, primjerice 80 i 443 za web poslužitelj. SSH također možete ograničiti na vlastitu IP adresu pravilom vatrozida u konzoli za oblak.

5. Blokirajte ponovljene neuspjele pokušaje pomoću Fail2bana

sudo apt install -y fail2ban

Izradite /etc/fail2ban/jail.local:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Automatski instalirajte sigurnosna ažuriranja

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. Dodatne opcije

  • Promjena SSH porta smanjuje šum u logovima, ali sama po sebi nije sigurnosna mjera.
  • Zaštitite privatni ključ lozinkom i čuvajte sigurnosnu kopiju na sigurnom mjestu.
  • Pregledajte prijave naredbama last i sudo journalctl -u ssh --since today.
  • Kad je poslužitelj konfiguriran, napravite snapshot kako biste mogli vratiti čisto početno stanje.

Ako ste zaključani, koristite konzolu preglednika u panelu za oblak da se prijavite i ispravite konfiguraciju. Naš vodič o DDoS zaštiti pokriva sljedeći sloj obrane.

Često postavljana pitanja

Je li sigurno isključiti prijavu root korisnika?

Da, ali tek nakon što izradite sudo korisnika i provjerite radi li njegov ključ. Administrativne naredbe i dalje možete pokretati pomoću sudo.

Trebam li Fail2ban ako koristim samo ključeve?

Nije obavezan. Kad je prijava lozinkom isključena, brute force napad ne može uspjeti, ali Fail2ban smanjuje šum u logovima i opterećenje.

Što ako izgubim SSH ključ?

Pomoću konzole u panelu za oblak prijavite se, dodajte novi javni ključ u ~/.ssh/authorized_keys i uklonite stari.

Izvori i dodatno čitanje

Više vodiča za VPS