SSH-sleutelgenerator
Stel het exacte ssh-keygen-commando samen, een doelgerichte sleutelcomment, en een kant-en-klare ~/.ssh/config-snelkoppeling. Deze pagina genereert nooit een echte sleutel — hij stelt alleen het commando samen dat je zelf uitvoert.
Er wordt nooit een sleutel in je browser aangemaakt.
Stap 1
Kies een algoritme
Beide produceren een echt sleutelpaar. Het verschil zit in grootte, snelheid en welke servers ze accepteren.
Ed25519 is een modern elliptic-curve-algoritme: korte sleutels, snel te genereren en mee te authenticeren, en ondersteund door vrijwel elke SSH-server van het afgelopen decennium. Gebruik dit, tenzij iets specifieks je dwingt om iets anders te kiezen.
Gebruik jij@doel-jaar in plaats van de standaard machine@host-comment. Als authorized_keys op een server uiteindelijk vijf sleutels bevat, is de comment het enige dat je vertelt bij welke laptop of welk doel elke sleutel hoort.
Laat leeg om de standaardlocatie van ssh-keygen te gebruiken (getoond als placeholder hierboven). Stel dit alleen in als je meerdere sleutels naast elkaar bewaart.
Hoger maakt het brute-forcen van een gestolen, met wachtwoordzin beveiligde sleutel trager — maar maakt ook elke ontgrendeling trager. Laat leeg voor de standaard van ssh-keygen.
Resultaat
Voer dit uit in je eigen terminal
ssh-keygen -t ed25519 -C 'you@wespner-vps-2026'
Opgeslagen op de standaardlocatie: ~/.ssh/id_ed25519 (en ~/.ssh/id_ed25519.pub).
Wachtwoordzin
Er wordt om een wachtwoordzin gevraagd — dit is de afweging
ssh-keygen vraagt je twee keer een wachtwoordzin te typen, of twee keer op Enter te drukken voor geen wachtwoordzin. Niets hierboven stelt deze voor je in — een wachtwoordzin hoort thuis in je terminal, nooit in een opgeslagen commando.
Met een wachtwoordzin: als het sleutelbestand zelf ooit wordt gestolen — een gestolen laptop, een gelekte back-up — is het zonder de wachtwoordzin waardeloos. De prijs is dat je hem elke keer moet intypen als je verbinding maakt.
Zonder wachtwoordzin: geen enkele frictie, maar iedereen die het private-key-bestand bemachtigt, komt direct binnen. ssh-agent (Linux), de macOS Keychain, of Pageant (PuTTY) lossen het frictieprobleem op: ontgrendel één keer per sessie, en elke verbinding daarna verloopt geruisloos, dus er is zelden een goede reden om de wachtwoordzin over te slaan.
Waarom dit ertoe doet
Ed25519 versus RSA, in gewone taal
Ed25519 is een nieuwer elliptic-curve-algoritme: de sleutel is een paar honderd bytes in plaats van meerdere kilobytes, de wiskunde is aan beide kanten sneller, en het is al zo'n tien jaar de aanbevolen standaard op vrijwel elke server.
RSA 4096 is ouder en trager, maar wordt begrepen door letterlijk elke ooit uitgebrachte SSH-implementatie. Grijp hiernaar alleen als een server te oud of te dichtgetimmerd is om Ed25519 te accepteren — verouderde netwerkapparatuur, sommige managed hosts, oeroude enterprise-appliances. Weet je niet zeker of dat voor jou geldt, dan geldt het niet: gebruik Ed25519.
Stap 2
Waar de sleutel naartoe gaat
Deze gegevens worden gebruikt voor zowel de copy-to-server-commando's hieronder als de SSH-config-snelkoppeling in stap 3.
Ernaartoe krijgen
Zet de public key op de server
Alleen het .pub-bestand verlaat ooit je machine. De private key (zonder .pub) wordt nooit ergens naartoe gekopieerd.
Makkelijkst: ssh-copy-id (macOS/Linux, of WSL/Git Bash op Windows)
ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
Handmatige route: zelf toevoegen aan authorized_keys
cat ~/.ssh/id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Die ene regel zet ~/.ssh op 700 en authorized_keys op 600 terwijl hij dat doet — SSH negeert beide bestanden stilzwijgend als de rechten losser zijn dan dat. Gebruik de chmod- & chown-calculator als je die rechten later nog moet herstellen, of precies wilt zien wat die twee modi toestaan.
Stap 3
Stel een ~/.ssh/config-snelkoppeling samen
Maakt van ssh [email protected] -p 22 -i ~/.ssh/id_ed25519 gewoon ssh wespner-vps.
~/.ssh/config
Host wespner-vps
HostName play.wespner.eu
User deploy
Port 22
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yesPlak dat blok in ~/.ssh/config (maak het bestand aan als het nog niet bestaat), en verbind daarna met alleen ssh wespner-vps — nooit meer een gebruiker, host, poort of -i-vlag nodig.
Windows
OpenSSH in PowerShell, of PuTTYgen
Windows 10/11 wordt standaard geleverd met OpenSSH — het ssh-keygen-commando hierboven werkt ongewijzigd in PowerShell of Command Prompt. Sleutels komen terecht in C:\Users\jij\.ssh\ (PowerShell lost ~ op dezelfde manier op).
ssh-copy-id wordt niet meegeleverd met Windows OpenSSH. Gebruik in plaats daarvan het PowerShell-equivalent:
PowerShell copy-to-server
Get-Content ($env:USERPROFILE + '\.ssh\id_ed25519.pub') | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Liever PuTTY/WinSCP? Genereer met PuTTYgen (Generate → beweeg de muis → Save private key as .ppk), en kopieer daarna de public-key-tekst bovenaan het venster rechtstreeks naar authorized_keys. De config staat op hetzelfde ~/.ssh/config-pad als je de OpenSSH-client gebruikt — Pageant/WinSCP gebruiken in plaats daarvan hun eigen lijst met opgeslagen sessies.
macOS / Linux
Terminal, native
Voer het commando hierboven rechtstreeks uit in Terminal. Sleutels komen terecht in ~/.ssh/, en ssh-copy-id wordt meegeleverd met bijna elke distributie (macOS: brew install ssh-copy-id als het ontbreekt).
De config staat in ~/.ssh/config — hetzelfde blok als in stap 3, geen vertaling nodig.
Om te voorkomen dat je bij elke verbinding je wachtwoordzin opnieuw moet typen: ssh-add ~/.ssh/id_ed25519 laadt hem voor de sessie in ssh-agent. Op macOS onthoudt ssh-add --apple-use-keychain ~/.ssh/id_ed25519 (of UseKeychain yes in het configblok) hem via Keychain, ook na een herstart.
Beheer je een eigen gameserver?
Wespner-gameservers met DDoS-bescherming, NVMe-schijven en activering binnen enkele minuten.