Så säkrar du SSH på en Linux-VPS

Av ONIE Engineering Team · Uppdaterad 12 november 2026 · 2 min läsning

En publik VPS får automatiserade inloggningsförsök inom några minuter efter att den har startats. Stegen nedan gör SSH betydligt svårare att attackera. De är skrivna för Ubuntu eller Debian. Om du inte har skapat någon server än kan du hyra en Linux-VPS och börja från en ren avbildning. Behåll din nuvarande SSH-session öppen tills du har testat de nya inställningarna från ett andra fönster.

1. Skapa en vanlig användare med sudo

adduser deploy
usermod -aG sudo deploy

2. Använd SSH-nycklar i stället för lösenord

På din egen dator:

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

Logga in en gång med nyckeln för att bekräfta att den fungerar innan du stänger av lösenordsinloggning.

3. Stäng av lösenords- och root-inloggning

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

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Kontrollera syntaxen och ladda om tjänsten. Tjänsten heter ssh på Ubuntu och Debian och sshd på RHEL-baserade system:

sudo sshd -t && sudo systemctl reload ssh

Öppna en andra terminal och logga in igen. Stäng först därefter den gamla sessionen.

4. Aktivera en brandvägg

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

Öppna bara de portar du behöver, till exempel 80 och 443 för en webbserver. Du kan dessutom begränsa SSH till din egen IP-adress med en brandväggsregel i molnkonsolen.

5. Blockera upprepade misslyckanden med Fail2ban

sudo apt install -y fail2ban

Skapa /etc/fail2ban/jail.local:

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

6. Installera säkerhetsuppdateringar automatiskt

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

7. Valfria tillägg

  • Att byta SSH-port minskar bruset i loggarna men är inte en säkerhetsåtgärd i sig.
  • Skydda den privata nyckeln med en lösenfras och förvara en säkerhetskopia på en säker plats.
  • Granska inloggningar med last och sudo journalctl -u ssh --since today.
  • Ta en snapshot när servern är konfigurerad, så att du kan återställa en ren utgångspunkt.

Om du blir utelåst kan du använda webbläsarkonsolen i din molnpanel för att logga in och rätta konfigurationen. Vår guide om DDoS-skydd täcker nästa skyddslager.

Vanliga frågor

Is it safe to disable root login?

Yes, if you first create a sudo user and test that its key works. You can still run administrative commands with sudo.

Do I need Fail2ban if I use keys only?

It is optional. With password login disabled, brute force cannot succeed, but Fail2ban reduces log noise and load.

What if I lose my SSH key?

Use the console in your cloud panel to log in, add a new public key to ~/.ssh/authorized_keys and remove the old one.

Källor och fortsatt läsning

Fler VPS-guider