Ako zabezpečiť SSH na Linux VPS

Autor: Inžiniersky tím ONIE · Aktualizované 12. novembra 2026 · 2 min čítania

Verejný VPS dostáva automatizované pokusy o prihlásenie už pár minút po spustení. Tieto kroky výrazne sťažia útoky na SSH. Sú písané pre Ubuntu alebo Debian; ak ešte server nemáte, môžete si prenajať Linux VPS a začať s čistým obrazom. Aktuálnu SSH reláciu nechajte otvorenú, kým nové nastavenia neotestujete z druhého okna.

1. Vytvorte bežného používateľa so sudo

adduser deploy
usermod -aG sudo deploy

2. Používajte SSH kľúče namiesto hesiel

Na vašom počítači:

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

Prihláste sa raz pomocou kľúča, aby ste overili, že funguje, až potom vypnite heslá.

3. Vypnite prihlasovanie heslom a rootom

Vytvorte súbor /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Skontrolujte syntax a znovu načítajte službu. Služba sa volá ssh na Ubuntu a Debian a sshd na systémoch založených na RHEL:

sudo sshd -t && sudo systemctl reload ssh

Otvorte druhý terminál a prihláste sa znova. Až potom zatvorte starú reláciu.

4. Zapnite firewall

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

Otvárajte iba porty, ktoré potrebujete, napríklad 80 a 443 pre webový server. SSH môžete obmedziť aj na svoju IP adresu pomocou pravidla firewallu v cloudovej konzole.

5. Blokujte opakované zlyhania pomocou Fail2ban

sudo apt install -y fail2ban

Vytvorte súbor /etc/fail2ban/jail.local:

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

6. Inštalujte bezpečnostné aktualizácie automaticky

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

7. Voliteľné doplnky

  • Zmena portu SSH znižuje množstvo záznamov v logoch, ale sama o sebe nie je bezpečnostným opatrením.
  • Súkromný kľúč chráňte heslom (passphrase) a uschovajte si jeho zálohu na bezpečnom mieste.
  • Prihlásenia kontrolujte pomocou last a sudo journalctl -u ssh --since today.
  • Po nastavení servera vytvorte snapshot, aby ste mohli obnoviť čistý základ.

Ak sa zamknete mimo server, použite v cloudovom paneli konzolu v prehliadači a opravte konfiguráciu. Ďalšiu vrstvu ochrany popisuje náš návod na ochranu pred DDoS útokmi.

Často kladené otázky

Je bezpečné zakázať prihlasovanie rootom?

Áno, ak najprv vytvoríte používateľa so sudo a otestujete, že jeho kľúč funguje. Administratívne príkazy môžete spúšťať naďalej cez sudo.

Potrebujem Fail2ban, ak používam iba kľúče?

Nie je to nutné. Keď je prihlasovanie heslom vypnuté, hrubá sila nemôže uspieť, no Fail2ban znižuje množstvo záznamov v logoch a záťaž.

Čo ak stratím SSH kľúč?

Použite konzolu v cloudovom paneli na prihlásenie, pridajte nový verejný kľúč do ~/.ssh/authorized_keys a starý kľúč odstráňte.

Zdroje a ďalšie čítanie

Ďalšie návody k VPS