Black Friday: eerste maand gratis per kwartaal · t/m 30 nov Bekijk de pakketten Voorwaarden
Nieuw hier? Probeer een Minecraft-server of Discord-bot 24 uur gratis. Gratis proberen
ServerSparkServerSpark

Kennisbank

Eerste stappen op een nieuwe VPS: SSH-sleutels, firewall en updates

Beveilig een nieuwe Ubuntu-, Debian-, Rocky- of AlmaLinux-VPS in 15 minuten: SSH-sleutel, wachtwoorden uit, ufw of firewalld, updates en de Docker-valkuil.

NVMe-nodesNachtelijke back-upsBinnen minuten online

Bijgewerkt op 30 oktober 2026

Het eerste kwartier op een nieuwe VPS: inloggen met SSH, overstappen van een wachtwoord naar een SSH-sleutel, inloggen met een wachtwoord uitzetten, een firewall aanzetten die alleen SSH doorlaat, en updates installeren. Daarna is je server geen makkelijke prooi meer voor de bots die de hele dag wachtwoorden proberen op elk openbaar IP-adres.

De commando's hieronder zijn voor Ubuntu 24.04 en Debian 12/13, met de verschillen voor Rocky Linux 9 en AlmaLinux 9 waar dat uitmaakt. Gecontroleerd op 29 oktober 2026 aan de hand van de documentatie van Ubuntu Server (ufw), de handleidingen van OpenSSH en de documentatie van Docker.

1. De eerste keer inloggen

  1. Na je betaling krijg je een e-mail. Je IP-adres en rootwachtwoord staan in het klantenportaal.
  2. Open een terminal. Op Windows 10 en 11 is dat PowerShell of Windows Terminal (SSH zit er al in); op macOS en Linux heet het Terminal.
  3. Typ ssh root@jouw-ip, antwoord yes op de vraag over de fingerprint en vul het wachtwoord in. Bij de eerste keer inloggen kies je een nieuw wachtwoord.

2. Maak een SSH-sleutel op je eigen computer

Een sleutel bestaat uit twee bestanden: een privésleutel die op je computer blijft en een publieke sleutel die je op de server zet. Die kan niemand raden zoals een wachtwoord.

ssh-keygen -t ed25519

Druk op Enter voor de standaardlocatie en kies een wachtzin (aangeraden). Je hebt nu id_ed25519 (privé, nooit delen) en id_ed25519.pub (publiek) in de map .ssh in je gebruikersmap.

3. Zet de publieke sleutel op de server

macOS en Linux:

ssh-copy-id root@jouw-ip

Windows (PowerShell) heeft geen ssh-copy-id, dus gebruik:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@jouw-ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Open nu een nieuwe terminal en voer ssh root@jouw-ip uit. Kom je binnen zonder het serverwachtwoord (alleen de wachtzin van je sleutel, als je die hebt ingesteld)? Dan werkt de sleutel.

4. Inloggen met een wachtwoord uitzetten

Laat je huidige SSH-sessie openstaan tot je in een tweede venster opnieuw hebt ingelogd. Gaat er iets mis, dan kun je het vanuit de open sessie nog herstellen.

Maak een klein instellingenbestand. SSH leest de bestanden in /etc/ssh/sshd_config.d/ op alfabetische volgorde en gebruikt per instelling de eerste waarde die het tegenkomt. Een naam die met 10- begint, wint dus van bestanden zoals 50-cloud-init.conf die wachtwoorden misschien weer aanzetten.

cat > /etc/ssh/sshd_config.d/10-keys-only.conf <<'EOF'
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin prohibit-password
EOF
sshd -t && sshd -T | grep -E 'passwordauthentication|permitrootlogin'

sshd -t controleert de configuratie op fouten; het tweede commando hoort passwordauthentication no en permitrootlogin without-password te tonen (hetzelfde, onder de oudere naam). Herstart daarna SSH:

systemctl restart ssh      # Ubuntu en Debian
systemctl restart sshd     # Rocky Linux en AlmaLinux

Test opnieuw in een nieuw venster. Inloggen met een wachtwoord hoort nu geweigerd te worden.

5. Zet een firewall aan

Ubuntu en Debian gebruiken ufw. Op Ubuntu is het geïnstalleerd maar staat het uit; op Debian installeer je het eerst met apt install ufw. Sta SSH altijd toe voordat je hem aanzet:

ufw allow OpenSSH          # of: ufw allow 22/tcp
ufw enable
ufw status verbose

Zet alleen poorten open voor wat je echt draait, bijvoorbeeld ufw allow 80,443/tcp voor een website of ufw allow 51820/udp voor WireGuard. Een Discord-bot heeft geen open poorten nodig: die maakt zelf verbinding met Discord.

Rocky Linux en AlmaLinux gebruiken firewalld:

dnf install -y firewalld && systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
Gebruik je Docker? Poorten die je publiceert met -p 8080:80 gaan langs ufw heen: de regels van Docker komen vóór die van ufw, dus de poort staat open voor internet, ook als ufw iets anders zegt (documentatie van Docker, "Packet filtering and firewalls"). Publiceer naar 127.0.0.1:8080:80 als alleen de server zelf erbij hoeft.

6. Updates installeren en automatisch laten binnenkomen

apt update && apt full-upgrade -y          # Ubuntu en Debian
dnf upgrade -y                              # Rocky Linux en AlmaLinux

Automatische beveiligingsupdates: op Ubuntu staat unattended-upgrades normaal al aan (controleer met systemctl status unattended-upgrades). Op Debian voer je apt install unattended-upgrades uit. Op Rocky en AlmaLinux installeer je dnf-automatic, zet je apply_updates = yes in /etc/dnf/automatic.conf en voer je systemctl enable --now dnf-automatic.timer uit. Herstart als er een nieuwe kernel is geïnstalleerd; dat kan ook vanuit het portaal.

7. Niet verplicht, wel verstandig

  • Een gewone gebruiker voor dagelijks werk: adduser jouwnaam, usermod -aG sudo jouwnaam (Rocky/Alma: groep wheel) en kopieer je sleutel naar die gebruiker. Zet daarna PermitRootLogin no.
  • Fail2ban blokkeert IP-adressen die steeds mislukte inlogpogingen doen. Met wachtwoorden uit gaat het vooral om schonere logs.
  • Back-ups. Bij een VPS zitten geen back-ups inbegrepen, dus regel je die zelf: zie Back-ups van je VPS maken met restic.

Wat het kost

VPS S heeft 2 vCPU, 4 GB RAM, 40 GB NVMe, 20 TB dataverkeer en een eigen IPv4-adres plus IPv6, in een datacenter in Neurenberg (Duitsland). Hij kost €7,99 per maand bij betaling per kwartaal, of €8,29 als je maandelijks betaalt. Zie VPS-hosting. Wil je alleen een Discord-bot of gameserver draaien? Dan hoef je dit allemaal niet te doen: zie gameserver op een VPS of game-hosting.

Veelgestelde vragen

Wat doe ik als eerste op een nieuwe VPS? Inloggen met SSH, een SSH-sleutel toevoegen, inloggen met een wachtwoord uitzetten, een firewall aanzetten die alleen SSH doorlaat (ufw op Ubuntu/Debian, firewalld op Rocky/AlmaLinux) en alle updates installeren. Dat kost ongeveer een kwartier.

Hoe maak ik een SSH-sleutel op Windows? Open PowerShell en voer ssh-keygen -t ed25519 uit. Windows 10 en 11 hebben de OpenSSH-client al aan boord. De publieke sleutel staat daarna in .ssh\id_ed25519.pub in je gebruikersmap.

Ik heb wachtwoorden uitgezet en SSH vraagt er toch om. Hoe kan dat? Een ander bestand in /etc/ssh/sshd_config.d/ zet PasswordAuthentication yes en wordt eerder gelezen. Geef je eigen bestand een naam die eerder in het alfabet komt, zoals 10-keys-only.conf, controleer met sshd -T en herstart SSH.

Welke poorten moet ik openzetten? In het begin alleen SSH (22). Zet daarna poorten open voor wat je echt draait, zoals 80 en 443 voor een website. Een Discord-bot heeft geen open poorten nodig.

Beschermt ufw ook Docker-containers? Niet voor gepubliceerde poorten. De regels van Docker gaan vóór die van ufw, dus een poort die je met -p publiceert, is bereikbaar vanaf internet. Koppel hem aan 127.0.0.1 als hij privé moet blijven.

Zitten er back-ups bij de VPS? Nee. Een VPS beheer je zelf. Maak zelf back-ups naar een andere plek, bijvoorbeeld met restic.