Kennisbank › Ssh › ssh sleutel
ssh starter 10 September 2026

ssh sleutel

Een SSH-sleutel is een cryptografisch instrument dat wordt gebruikt voor verificatie bij het gebruik van het Secure Shell-protocol (SSH). SSH is een

Een SSH-sleutel is een cryptografisch instrument dat wordt gebruikt voor verificatie bij het gebruik van het Secure Shell-protocol (SSH). SSH is een netwerkprotocol dat beveiligde communicatie mogelijk maakt over onveilige netwerken, zoals het internet. Het wordt vooral gebruikt voor het veilig beheren van externe systemen, zoals Linux-servers, waarbij gebruikers zich kunnen aanmelden en commando’s kunnen uitvoeren alsof ze lokaal zijn aangesloten. De sleutel vormt een essentieel onderdeel van deze beveiliging, in het bijzonder bij sleutelgebaseerde authenticatie, een methode die veiliger is dan wachtwoordauthenticatie.

SSH-sleutels werken op basis van asymmetrische cryptografie, wat betekent dat er twee sleutels zijn: een publieke sleutel en een privésleutel. De publieke sleutel kan veilig worden gedeeld en wordt meestal op de server geplaatst, in een speciaal bestand genaamd `authorized_keys`. De privésleutel daarentegen moet zorgvuldig geheim worden gehouden en wordt lokaal opgeslagen op het apparaat van de gebruiker. Wanneer een gebruiker probeert verbinding te maken met een SSH-server, gebruikt het protocol deze sleutelpaar om te controleren of de gebruiker in bezit is van de juiste privésleutel, zonder dat die sleutel daadwerkelijk over het netwerk wordt verzonden. Dit maakt de methode veilig tegen afluisteraanvallen.

Het proces van het genereren van een SSH-sleutelpaar gebeurt meestal met het commando `ssh-keygen`, dat deel uitmaakt van de OpenSSH-suite. Tijdens dit proces kan de gebruiker kiezen welk cryptografisch algoritme wordt gebruikt. Veelgebruikte opties zijn RSA, ECDSA en Ed25519. In oudere documentatie wordt soms de optie `ssh-keygen -t dsa -b 1024` genoemd, wat een 1024-bit DSA-sleutel genereert. Hoewel dit in het verleden gebruikelijk was, wordt een dergelijke sleutellengte tegenwoordig als onvoldoende veilig beschouwd vanwege de beperkte cryptografische sterkte. Moderne praktijken adviseren om in ieder geval 2048-bit RSA-sleutels te gebruiken, of beter nog, Ed25519-sleutels, die veiliger en efficiënter zijn.

Eenmaal gegenereerd, moet de publieke sleutel worden gekopieerd naar de doelserver. Dit kan handmatig, door de inhoud van het `id_rsa.pub`-bestand (of een ander sleutelbestand) te plakken in het `~/.ssh/authorized_keys`-bestand van de gebruiker op de server. Alternatief kunnen hulpmiddelen zoals `ssh-copy-id` of grafische tools zoals Keymaker of SSH Pilot dit proces automatiseren. Deze tools vereenvoudigen het beheer van SSH-sleutels, vooral voor gebruikers die minder vertrouwd zijn met de commandoregel. Keymaker bijvoorbeeld biedt een grafische interface waarmee gebruikers nieuwe sleutels kunnen genereren, bestaande sleutels kunnen beheren, publieke sleutels naar het klembord kunnen kopiëren en sleutels naar servers kunnen implementeren zonder terminalgebruik.

De privésleutel wordt standaard opgeslagen in `~/.ssh/id_rsa` (voor RSA) of soortgelijke bestanden, afhankelijk van het algoritme. Het is van cruciaal belang dat dit bestand beveiligd blijft. Als een aanvaller toegang krijgt tot de privésleutel, kan hij of zij zich zonder wachtwoord aanmelden bij alle servers waar de overeenkomstige publieke sleutel is geplaatst. Om extra beveiliging te bieden, kan een privésleutel worden beveiligd met een wachtwoordzin (passphrase). Elke keer dat de sleutel wordt gebruikt, moet de gebruiker deze wachtwoordzin invoeren. Dit voorkomt dat de sleutel direct bruikbaar is bij diefstal, en wordt beschouwd als een goede beveiligingspraktijk.

Sleutelgebaseerde authenticatie wordt breed ondersteund door SSH-implementaties, waaronder OpenSSH, de meest gebruikte implementatie op Linux- en Unix-achtige systemen. OpenSSH werd in 1999 gestart als een vrije herimplementatie van het SSH-protocol, en de eerste release verscheen in 2000 als onderdeel van OpenBSD 2.6. Sindsdien is OpenSSH de standaard geworden voor SSH-beveiliging in open source omgevingen. Het ondersteunt zowel wachtwoord- als sleutelauthenticatie, en biedt daarnaast functionaliteit zoals port forwarding, reverse tunneling en SFTP voor bestandsoverdracht.

Het formele bestandsformaat voor SSH-publieke sleutels werd gedefinieerd in RFC 4716, gepubliceerd in november 2006 door de Internet Engineering Task Force (IETF). Deze RFC biedt een gestandaardiseerde manier om publieke sleutels op te slaan en uit te wisselen, wat interoperabiliteit tussen verschillende SSH-clients en -servers verbetert. De IETF is ook verantwoordelijk voor de standaardisering van het SSH-protocol zelf, zoals vastgelegd in RFC 4251, getiteld The Secure Shell (SSH) Protocol Architecture. Deze RFC beschrijft het protocol als een middel voor "secure remote login and other secure network services over an insecure network", en vormt de basis voor moderne SSH-implementaties.

De geschiedenis van SSH gaat terug tot 1995, toen Tatu Ylönen, werkzaam aan de Helsinki University of Technology in Finland, het protocol ontwikkelde. De aanleiding was een wachtwoordafluisteraanval op het universiteitsnetwerk, waarbij gebruikerswachtwoorden werden onderschept. Ylönen ontwikkelde SSH als een beveiligde vervanging voor onveilige protocollen zoals Telnet, rlogin en FTP. In juli 1995 bracht hij zijn implementatie uit als freeware, en tegen eind 1995 zou al naar verluidt 20.000 gebruikers in vijftig landen SSH hebben geïnstalleerd. In december 1995 richtte hij SSH Communications Security op om het protocol commercieel verder te ontwikkelen.

Hoewel de oorspronkelijke versie van SSH snel populair werd, ontstond er behoefte aan een open en vrije implementatie, wat leidde tot de ontwikkeling van OpenSSH. Deze versie is nu standaard geïnstalleerd op bijna alle Linux-distributies, BSD-systemen en macOS. Het gebruik van sleutelgebaseerde authenticatie is in deze omgeving wijdverspreid, niet alleen vanwege de beveiliging, maar ook voor automatisering. Scripts en geautomatiseerde systemen kunnen zonder menselijke tussenkomst verbinding maken met servers, mits de juiste sleutels zijn geconfigureerd.

Er bestaan ook tools die specifiek zijn ontworpen om met SSH-sleutels te werken of audits uit te voeren. SSH-MITM bijvoorbeeld is een Linux-programma dat fungeert als een man-in-the-middle SSH-server, bedoeld voor beveiligingsaudits en malware-analyse. Het ondersteunt zowel wachtwoord- als publieke sleutelauthenticatie en kan detecteren of een gebruiker zich kan aanmelden via sleutels. Als dat mogelijk is, kan SSH-MITM dezelfde sleutel accepteren als de doelserver. Als sleutelauthenticatie niet werkt, valt het terug op wachtwoordauthenticatie. Dit maakt het een krachtig hulpmiddel voor beveiligingstests, maar ook een potentieel risico als het in verkeerde handen valt.

Daarnaast zijn er tools zoals John the Ripper CE, een wachtwoordcracker die ook SSH-private sleutels kan analyseren. Als een privésleutel is beveiligd met een zwakke passphrase, kan John the Ripper proberen die passphrase te kraken met brute-force of woordenlijstaanvallen. Dit benadrukt nogmaals het belang van sterke passphrases bij het beveiligen van privésleutels.

Andere tools zoals Passwords and Keys (ook bekend als Seahorse) bieden een grafische interface voor het beheren van SSH-sleutels binnen het GNOME-bureaublad. Gebruikers kunnen hiermee sleutels genereren, beheren, back-uppen en publiceren naar sleutelservers. Het biedt een gebruiksvriendelijke manier om met cryptografische sleutels om te gaan, zonder de terminal te hoeven gebruiken.

Samenvattend is een SSH-sleutel een fundamenteel onderdeel van moderne systeembeveiliging. Het vormt de basis van veilige, wachtwoordloze toegang tot servers en ondersteunt zowel menselijke als geautomatiseerde interactie. Door gebruik te maken van asymmetrische cryptografie, gestandaardiseerde formaten (zoals in RFC 4716) en robuuste implementaties (zoals OpenSSH), zorgt SSH voor een hoge mate van vertrouwen in de identiteit van gebruikers en systemen. De geschiedenis ervan, van een reactie op een lokale netwerkaanval tot een wereldwijd standaardprotocol, illustreert hoe technologie kan evolueren om echte beveiligingsbehoeften aan te pakken. Het beheren van SSH-sleutels vereist aandacht voor detail, maar met de juiste tools en praktijken kan het een krachtige pijler zijn van een veilige IT-infrastructuur.

← Terug naar kennisbank
← Terug naar kennisbank