Kako zaštititi SSH na Linux VPS-u

Аутор ONIE инжењерски тим · Ажурирано 12. новембар 2026. · 2 мин читања

Javni VPS prima automatizovane pokušaje prijave već nekoliko minuta nakon pokretanja. Ovi koraci znatno otežavaju napad na SSH. Napisani su za Ubuntu ili Debian; ako server još nemate, možete iznajmiti Linux VPS i početi od čistog image-a. Ostavite trenutnu SSH sesiju otvorenu dok ne testirate nova podešavanja iz drugog prozora.

1. Kreiranje običnog korisnika sa sudo pravima

adduser deploy
usermod -aG sudo deploy

2. Korišćenje SSH ključeva umesto lozinki

Na vašem računaru:

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 da biste potvrdili da radi, pre nego što isključite lozinke.

3. Isključivanje prijave lozinkom i root korisnikom

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

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Proverite sintaksu i ponovo učitajte servis. Servis se na Ubuntu i Debian sistemima zove ssh, a na sistemima baziranim na RHEL-u sshd:

sudo sshd -t && sudo systemctl reload ssh

Otvorite drugi terminal i ponovo se prijavite. Tek onda zatvorite staru sesiju.

4. Uključivanje firewall-a

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, na primer 80 i 443 za web server. SSH možete ograničiti i na svoju IP adresu pravilom firewall-a u cloud konzoli.

5. Blokiranje ponovljenih neuspeha pomoću Fail2ban-a

sudo apt install -y fail2ban

Kreirajte /etc/fail2ban/jail.local:

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

6. Automatska instalacija bezbednosnih ažuriranja

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

7. Dodatne opcije

  • Promena SSH porta smanjuje količinu zapisa u logovima, ali sama po sebi nije bezbednosna mera.
  • Zaštitite privatni ključ lozinkom (passphrase) i čuvajte rezervnu kopiju na bezbednom mestu.
  • Pregledajte prijave komandama last i sudo journalctl -u ssh --since today.
  • Napravite snapshot kada server bude podešen, kako biste mogli da vratite čistu početnu konfiguraciju.

Ako ostanete zaključani, koristite konzolu u browseru u vašem cloud panelu da se prijavite i ispravite konfiguraciju. Naš vodič za DDoS zaštitu pokriva sledeći sloj odbrane.

Често постављана питања

Da li je bezbedno isključiti root prijavu?

Da, ali tek kada prvo kreirate sudo korisnika i proverite da njegov ključ radi. Administrativne komande i dalje možete izvršavati pomoću sudo.

Da li mi treba Fail2ban ako koristim samo ključeve?

Nije obavezan. Kada je prijava lozinkom isključena, brute force napad ne može uspeti, ali Fail2ban smanjuje količinu zapisa u logovima i opterećenje.

Šta ako izgubim SSH ključ?

Koristite konzolu u vašem cloud panelu da se prijavite, dodajte novi javni ključ u ~/.ssh/authorized_keys i uklonite stari.

Извори и даља литература

Још VPS водича