Näin suojaat SSH:n Linux VPS:llä

Tekijä ONIE-insinööritiimi · Päivitetty 12. marraskuuta 2026 · 2 min lukuaika

Julkinen VPS saa automaattisia kirjautumisyrityksiä minuuteissa sen käynnistymisen jälkeen. Nämä vaiheet vaikeuttavat SSH:n hyökkäämistä merkittävästi. Ohjeet on kirjoitettu Ubuntulle ja Debianille. Jos palvelinta ei ole vielä luotu, voit vuokrata Linux VPS:n ja aloittaa puhtaasta levykuvasta. Pidä nykyinen SSH-istunto auki, kunnes olet testannut uudet asetukset toisesta ikkunasta.

1. Luo tavallinen käyttäjä sudo-oikeuksilla

adduser deploy
usermod -aG sudo deploy

2. Käytä SSH-avaimia salasanojen sijaan

Omalla tietokoneellasi:

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

Kirjaudu kerran avaimella varmistaaksesi, että se toimii, ennen kuin poistat salasanat käytöstä.

3. Poista salasana- ja root-kirjautuminen käytöstä

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

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Tarkista syntaksi ja lataa palvelu uudelleen. Palvelun nimi on ssh Ubuntulla ja Debianilla ja sshd RHEL-pohjaisilla järjestelmillä:

sudo sshd -t && sudo systemctl reload ssh

Avaa toinen pääte ja kirjaudu uudelleen. Sulje vanha istunto vasta sitten.

4. Ota palomuuri käyttöön

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

Avaa vain tarvitsemasi portit, kuten 80 ja 443 web-palvelimelle. Voit myös rajoittaa SSH:n omaan IP-osoitteeseesi pilvipaneelin palomuurisäännöllä.

5. Estä toistuvat epäonnistumiset Fail2banilla

sudo apt install -y fail2ban

Luo /etc/fail2ban/jail.local:

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

6. Asenna tietoturvapäivitykset automaattisesti

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

7. Valinnaiset lisät

  • SSH-portin vaihtaminen vähentää lokikohinaa, mutta ei ole sellaisenaan tietoturvatoimi.
  • Suojaa yksityinen avain salasanalauseella ja säilytä varmuuskopio turvallisessa paikassa.
  • Tarkista kirjautumiset komennoilla last ja sudo journalctl -u ssh --since today.
  • Ota snapshot, kun palvelin on konfiguroitu, jotta voit palauttaa puhtaan lähtötilan.

Jos lukitset itsesi ulos, käytä pilvipaneelin selainkonsolia kirjautumiseen ja asetusten korjaamiseen. DDoS-suojausopas kertoo seuraavasta puolustuskerroksesta.

Usein kysytyt kysymykset

Onko root-kirjautumisen poistaminen turvallista?

Kyllä, kunhan luot ensin sudo-käyttäjän ja testaat, että sen avain toimii. Ylläpitokomentoja voi edelleen suorittaa sudo-komennolla.

Tarvitsenko Fail2bania, jos käytän pelkkiä avaimia?

Se on valinnainen. Kun salasanakirjautuminen on pois käytöstä, salasanan arvaushyökkäys ei voi onnistua, mutta Fail2ban vähentää lokikohinaa ja kuormaa.

Mitä jos kadotan SSH-avaimeni?

Kirjaudu pilvipaneelin konsolin kautta, lisää uusi julkinen avain tiedostoon ~/.ssh/authorized_keys ja poista vanha.

Lähteet ja lisälukemista

Lisää VPS-oppaita