Je hebt een eigen server in de cloud of thuis, en je wilt er veilig bij kunnen. SSH is daarvoor de standaard – een protocol dat alle communicatie versleutelt, van commando’s tot bestandsoverdrachten, zoals Microsoft Learn (documentatie over OpenSSH) uitlegt. In deze gids zetten we de stappen op een rij: van installatie tot het afsluiten van deuren die hackers zouden kunnen openen.

Standaard SSH-poort: 22 ·
OpenSSH-server installeren (Ubuntu): sudo apt install openssh-server ·
SSH-sleutelgeneratie (standaard): ssh-keygen -t rsa -b 4096 ·
Aantal actieve SSH-servers wereldwijd (schatting 2024): meer dan 15 miljoen ·
Risicofactor onbeveiligde SSH: kwetsbaar voor brute force-aanvallen

Overzicht

1Bevestigde feiten
2Wat onduidelijk is
  • Exacte wereldwijde statistieken over actieve SSH-servers variëren per bron
  • Optimale sleutellengte hangt af van specifieke compliance-eisen (bv. PCI-DSS, HIPAA)
  • Of Ed25519-sleutels op termijn de standaard worden, is nog niet zeker
3Tijdlijn-signaal
  • 1995: Eerste SSH ontwikkeld door Tatu Ylönen (OpenSSH)
  • 1999: OpenSSH uitgebracht als opensource-alternatief (OpenSSH)
  • 2006: IETF standaardiseert SSH-2 (RFC 4251-4256) (OpenSSH)
  • 2018: Microsoft voegt OpenSSH-server toe aan Windows 10 (Microsoft Learn)
4Wat komt hierna
  • Meer focus op Ed25519-sleutels als sneller en veiliger alternatief
  • Implementatie van multifactorauthenticatie (2FA) voor SSH wordt steeds gangbaarder
  • Gebruik van SSH Certificate Authority voor gecentraliseerd sleutelbeheer groeit

Vier kerngegevens over SSH in een notendop: van poortnummer tot de geboorte van het protocol.

Kenmerk Waarde
Standaardpoort 22
Veilige sleutellengte (RSA) minimaal 2048 bit (OpenSSH-richtlijnen)
Populairste implementatie OpenSSH (OpenSSH)
Eerste uitgave 1995
Configuratiebestand (Linux) /etc/ssh/sshd_config (Ubuntu Server-documentatie)
Aanbevolen authenticatie sleutelgebaseerd (key-based) (Red Hat (beveiligingsblog))
Waarom dit belangrijk is

Het verschil tussen een SSH-server die na installatie wordt vergeten en een die consequent wordt gehard, is vaak de enige barrière tussen een systeembeheerder en een geslaagde brute force-aanval. De keuzes in sshd_config bepalen of je server een open deur is of een gesloten kluis.

Wat is SSH en waar wordt het voor gebruikt?

Definitie van het Secure Shell-protocol

  • SSH staat voor Secure Shell, een netwerkprotocol dat veilige communicatie over een onbeveiligd netwerk mogelijk maakt (OpenSSH).
  • Het versleutelt al het verkeer – zowel commando’s als data – zodat derden niet kunnen meekijken (Microsoft Learn).
  • Het protocol wordt breed gebruikt voor serverbeheer, bestandsoverdracht (SCP, SFTP) en tunneling (Cloudflare (uitleg over SSH)).

Veelvoorkomende toepassingen: serverbeheer, bestandsoverdracht, tunneling

  • Systeembeheerders gebruiken SSH voor externe toegang tot Linux- en Windows-servers.
  • SFTP (SSH File Transfer Protocol) vervangt onveilige FTP-verbindingen.
  • SSH-tunnels maken het mogelijk verkeer door een gecodeerde tunnel te leiden, bijvoorbeeld voor het omzeilen van firewalls (Georgia Tech Cybersecurity (richtlijnen)).

Wat dit betekent: SSH is niet alleen een hulpmiddel voor techneuten – het is de ruggengraat van veilige externe toegang in vrijwel elke professionele IT-omgeving.

Hoe installeer ik een SSH-server op Ubuntu, Linux en Windows?

De trade-off

Elk besturingssysteem biedt een eigen weg naar dezelfde SSH-server, maar de standaardconfiguratieverschillen kunnen je beveiligingsniveau direct beïnvloeden. Op Windows is de server standaard uitgeschakeld; op Ubuntu staat hij vaak al aan na installatie.

SSH-server installeren op Ubuntu via sudo apt install openssh-server

  1. Voer eerst sudo apt update uit om de pakketlijsten te verversen.
  2. Installeer vervolgens het pakket: sudo apt install openssh-server (Ubuntu Server-documentatie).
  3. Controleer of de service draait met sudo systemctl status ssh.

SSH-server installeren op andere Linux-distributies (yum, dnf)

  • Op Red Hat Enterprise Linux, CentOS of Fedora: sudo yum install openssh-server of sudo dnf install openssh-server (Red Hat Enterprise Linux System Administrator’s Guide).
  • Start de service: sudo systemctl enable --now sshd.
  • Open de firewall: sudo firewall-cmd --add-service=ssh --permanent.

SSH-server inschakelen op Windows (OpenSSH-server via instellingen of PowerShell)

  • Open ‘Instellingen’ → ‘Apps’ → ‘Optionele functies’ en klik op ‘Een functie toevoegen’.
  • Zoek naar ‘OpenSSH-server’ en installeer deze (Microsoft Learn).
  • Start de service via ‘Services’ of PowerShell: Start-Service sshd en stel deze in op automatisch starten: Set-Service -Name sshd -StartupType 'Automatic'.

De implicatie: ongeacht het besturingssysteem is OpenSSH de centrale implementatie. De installatie is eenvoudig, maar de standaardinstellingen vragen om directe aandacht – vooral op Windows waar de server niet standaard actief is.

Hoe maak ik een SSH-verbinding met een externe server?

Basiscommando: ssh gebruikersnaam@server-ip

  • Het eenvoudigste commando is: ssh gebruiker@192.168.1.100 (Cloudflare).
  • Zorg dat de SSH-server draait (sudo systemctl status ssh).
  • De eerste keer dat je verbinding maakt, verschijnt een vingerafdruk – verifieer die bij de serverbeheerder.

Verbinding maken met een niet-standaard poort

  • Gebruik de -p optie: ssh -p 2222 gebruiker@server.
  • Dit werkt alleen als de server op die poort luistert (ingesteld in sshd_config).

Verbindingstest en veelvoorkomende fouten

  • Fout “Connection refused”: de SSH-service draait niet of de poort is geblokkeerd.
  • Fout “Permission denied”: verkeerde gebruikersnaam, wachtwoord of sleutel.
  • Test een verbinding zonder inloggen: ssh -T gebruiker@server.

Het patroon: een SSH-verbinding is een van de meest rechttoe-rechtaan handelingen in netwerkbeheer, maar elke foutmelding wijst meestal op een ontbrekende service, een firewallregel of een verkeerd pad naar de sleutel.

Hoe genereer ik een SSH-sleutel en voeg ik deze toe aan de ssh-agent?

De paradox

Sleutelgebaseerde authenticatie wordt vaak gezien als de heilige graal van SSH-beveiliging, maar een privésleutel zonder wachtwoordzin (passphrase) is net zo kwetsbaar als een zwak wachtwoord – alleen sneller te compromitteren.

Sleutelgeneratie met ssh-keygen

  • Voer ssh-keygen -t rsa -b 4096 uit om een RSA-sleutel van 4096 bit te genereren (OpenSSH-handleiding).
  • Geef een optionele wachtwoordzin op voor extra bescherming.
  • De standaardlocatie is ~/.ssh/id_rsa (privé) en ~/.ssh/id_rsa.pub (openbaar).

Plaatsing van de openbare sleutel op de server (ssh-copy-id)

  • Gebruik ssh-copy-id gebruiker@server-ip om de openbare sleutel naar de server te kopiëren (Brandon Rohrer (blog over SSH-thuisserver)).
  • Dit voegt de sleutel toe aan ~/.ssh/authorized_keys op de server.
  • Controleer de bestandspermissies: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys.

Toevoegen van de privésleutel aan de ssh-agent

  • Start de agent: eval "$(ssh-agent -s)".
  • Voeg de sleutel toe: ssh-add ~/.ssh/id_rsa.
  • Met de agent hoef je de wachtwoordzin slechts eenmalig per sessie in te voeren.

Wat dit betekent: een gegenereerd sleutelpaar is pas veilig als de privésleutel goed wordt beveiligd met een wachtwoordzin en de openbare sleutel correct op de server staat – de ssh-copy-id tool maakt die stap bijna foutloos.

Hoe beveilig ik mijn SSH-server?

Poort wijzigen van 22 naar een niet-standaard poort

  • Bewerk /etc/ssh/sshd_config en wijzig de regel #Port 22 in Port 2222 (Red Hat (acht manieren om SSH te beveiligen)).
  • Kies een willekeurige poort boven 1024 om geautomatiseerde scans te ontwijken.
  • Vergeet niet de firewall aan te passen en de service te herstarten.

Inloggen met wachtwoord uitschakelen en alleen sleutels toestaan

  • Zet in /etc/ssh/sshd_config de regel: PasswordAuthentication no (Georgia Tech Cybersecurity (richtlijnen)).
  • Hierdoor worden wachtwoordpogingen geblokkeerd; alleen sleutels zijn toegestaan.
  • Controleer ook: PubkeyAuthentication yes (standaard aan).

IP-whitelist toepassen en root-login verbieden

  • Stel PermitRootLogin no in om directe root-toegang te voorkomen (Red Hat).
  • Gebruik AllowUsers in sshd_config om alleen specifieke gebruikers toe te staan.
  • Overweeg AllowTcpForwarding no als tunnelfuncties niet nodig zijn.

De catch: het wijzigen van de poort en het uitschakelen van wachtwoorden zijn effectieve maatregelen, maar ze lossen niets op als de SSH-server versie verouderd is. Regelmatige updates blijven de enige echte garantie tegen zero-day-kwetsbaarheden.

Waarom wordt SSH soms als een risicovolle poort beschouwd?

Brute force-aanvallen op poort 22

  • Geautomatiseerde bots scannen continu poort 22 en proberen in te loggen met standaardwachtwoorden (SecOps Solution (blog over SSH-beveiliging)).
  • Volgens Georgia Tech worden systemen met SSH die niet gehard zijn gemiddeld binnen 24 uur na aansluiting op het internet aangevallen.

Verkeerde configuratie als zwakke wachtwoorden zijn toegestaan

  • Wachtwoorden kunnen worden geraden of via social engineering achterhaald.
  • Sleutelgebaseerde authenticatie elimineert dit risico vrijwel volledig.
  • Red Hat adviseert om lege wachtwoorden te verbieden (PermitEmptyPasswords no).

Verouderde SSH-versies met bekende kwetsbaarheden

  • Oude SSH-1 implementaties bevatten kwetsbaarheden die allang zijn opgelost in SSH-2.
  • Houd de software up-to-date via reguliere systeemupdates.
  • Gebruik moderne versies van OpenSSH (≥ 8.8) om bekende zwakheden te vermijden.

De implicatie: SSH is geen risico op zich – het zijn de slechte gewoonten (wachtwoorden, standaardpoort, verouderde versies) die het tot een geliefd doelwit maken voor aanvallers.

Bevestigde feiten

  • SSH versleutelt al het verkeer tussen client en server (Microsoft Learn).
  • OpenSSH is beschikbaar op Linux, Windows en macOS (OpenSSH).
  • Het wijzigen van de standaardpoort vermindert geautomatiseerde scans (Red Hat).
  • Een SSH-sleutel van 4096 bit biedt een zeer hoge beveiliging tegen brute force (OpenSSH).

Wat onduidelijk is

  • Exacte wereldwijde statistieken over actieve SSH-servers variëren per bron; schattingen lopen uiteen van 10 tot 20 miljoen.
  • Optimale sleutellengte kan afhankelijk zijn van specifieke compliance-eisen (bv. PCI-DSS vereist minimaal 2048 bit, maar hogere standaarden kunnen 4096 bit voorschrijven).
  • Of Ed25519-sleutels op termijn RSA volledig zullen vervangen, is onderwerp van discussie in de security community.

“Use an ssh key instead of the server account password.”

Brandon Rohrer (blogger over SSH-thuisserver)

“SSH, also known as Secure Shell, is a network protocol that gives users a secure way to access a computer over an unsecured network.”

Cloudflare (uitleg over SSH)

Voor systeembeheerders in Nederland is de keuze duidelijk: implementeer key-based authenticatie en schakel wachtwoordlogin uit, of riskeer een brute-force-aanval die je server platlegt. De stappen zijn eenvoudig, de gevolgen van nalaten zijn dat niet.

Voor wie SSH op verschillende besturingssystemen wil instellen, biedt een uitgebreide gids over SSH op Windows en Ubuntu een helder stappenplan.

Veelgestelde vragen

Hoe wijzig ik de standaard SSH-poort?

Bewerk /etc/ssh/sshd_config, wijzig de regel #Port 22 naar een andere poort (bijv. Port 2222) en herstart de SSH-service: sudo systemctl restart ssh.

Kan ik SSH uitschakelen na installatie?

Ja, stop de service met sudo systemctl stop ssh en schakel automatisch starten uit met sudo systemctl disable ssh. Dit is aan te raden als de server tijdelijk niet extern hoeft te worden beheerd.

Wat is het verschil tussen SSH en Telnet?

Telnet verzendt alle gegevens – inclusief wachtwoorden – onversleuteld. SSH versleutelt de volledige communicatie. Telnet wordt daarom als onveilig beschouwd en afgeraden voor internetgebruik.

Hoe herstel ik een verloren SSH-sleutel?

Als je de privésleutel kwijt bent, generatieer dan een nieuw sleutelpaar met ssh-keygen en voeg de nieuwe openbare sleutel toe via een alternatief toegangspad (bijv. een console of een andere beheerder). Overweeg het gebruik van een SSH Certificate Authority om sleutelbeheer te centraliseren.

Welk type SSH-sleutel is het veiligst?

Ed25519-sleutels zijn snel, kleiner (256 bit) en bieden een hoge mate van veiligheid, vergelijkbaar met RSA van 4096 bit. Voor maximale compatibiliteit kies je voor RSA-4096, maar Ed25519 wordt steeds breder ondersteund.