Terug naar tools

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.

Een webpagina die je een private key geeft, is precies iets om te wantrouwen — de private helft mag nooit de machine verlaten waarop hij is ontstaan. Deze tool stelt alleen het ssh-keygen-commando hieronder samen. Je kopieert het en voert het zelf uit, in je eigen terminal, waar de sleutel daadwerkelijk wordt gegenereerd en blijft.

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 yes

Plak 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.

Bekijk hosting