Zabezpečenie SSH: kľúče, port, obmedzenia
Ako nastaviť sshd: prihlásenie len kľúčom, obmedzenie používateľov a adries, zmena portu a ako pritom nestratiť prístup.
Aktualizované 23. augusta 2026
SSH je jediné dvere do stroja, ktorý používaš každý deň, a hlavný terč automatizovaných brute-force útokov. Nakonfiguruješ ho raz a potom už nevyžaduje pozornosť.
Všetky úpravy rob v samostatnom súbore /etc/ssh/sshd_config.d/99-hardening.conf — takto ti aktualizácia balíka neprepíše prácu a neostaneš bez prístupu.
Kľúče namiesto hesiel
PasswordAuthentication no
PubkeyAuthentication yes
KbdInteractiveAuthentication no
PermitEmptyPasswords no
Pred aplikovaním sa uisti, že kľúč naozaj funguje: prihlás sa s ním v samostatnom okne. Kľúče pridané v karte „Access“ v paneli /hosting/vds/m/<id> idú používateľovi root; pre ostatných používateľov ich musíš vložiť do ~/.ssh/authorized_keys ručne.
Generovanie kľúča na tvojej strane:
ssh-keygen -t ed25519 -C "work laptop"
ed25519 je kratší a rýchlejší než RSA. Ak ho tvoj nástroj nepodporuje, použi rsa s dĺžkou aspoň 4096 bitov.
Kto sa môže prihlásiť
PermitRootLogin prohibit-password
AllowUsers artem deploy
MaxAuthTries 3
LoginGraceTime 20
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers je najúčinnejšie pravidlo po vypnutí hesiel: brute-force na cudzie mená sa okamžite zastaví. Viac o rootovi — vypni prihlásenie roota heslom.
Obmedzenie na adresu, ak pracuješ z pevného miesta:
Match Address 203.0.113.5
PermitRootLogin yes
Zmena portu
Presun SSH z 22 na neštandardný port ťa neochráni pred cieleným útokom, ale z logov odstráni takmer všetok šum od automatizovaných skenerov.
Port 2222
Poradie krokov je striktne takéto:
ufw allow 2222/tcp
sshd -t
systemctl restart ssh
ssh -p 2222 artem@<address>
ufw delete allow 22/tcp
Pravidlo firewallu prichádza pred reštartom a staré odstrániš až po úspešnom prihlásení na novom porte. Pozri aj porty.
Aplikovanie a overenie
sshd -t
sshd -T | grep -Ei "passwordauth|permitroot|allowusers|port"
systemctl restart ssh
sshd -t skontroluje syntax, sshd -T zobrazí výslednú efektívnu konfiguráciu — tú, nie to, čo si napísal do súboru.
Počas konfigurácie si nechaj otvorenú aktuálnu reláciu. Prežije reštart sshd a cez ňu môžeš vrátiť nepodarenú úpravu. Ak sa predsa len zamkneš von — karta „Console“ v paneli funguje nezávisle od SSH.
Časté chyby
| Chyba | Následok | Oprava |
|---|---|---|
| Vypnuté heslá bez otestovania kľúča | Úplná strata sieťového prístupu | Prihlás sa cez konzolu v paneli a obnov nastavenie |
Úprava v hlavnom súbore nad riadkom z sshd_config.d | Nastavenie neúčinkuje | Skontroluj pomocou sshd -T |
| Zmenený port bez pravidla ufw | Strata prístupu | Najprv pravidlo, potom port |
Práva na ~/.ssh širšie než 700 | Kľúč sa ticho ignoruje | chmod 700 ~/.ssh, chmod 600 authorized_keys |
AllowUsers bez tvojho vlastného mena | Zamkneš sa von | Konzola v paneli, uprav súbor |
V
sshd_configvyhráva prvý výskyt parametra a súbory zsshd_config.dsa vkladajú na začiatok. Preto over výsledok pomocousshd -Tnamiesto čítania súboru.
Zvyšný šum z brute-force odstráni fail2ban.