Stel: je opent je terminal, typt je gebruikersnaam in en wacht op de vraag om je wachtwoord. Terwijl je dat intypt, weet je dat juist dat moment—een enkel geraden of gelekt wachtwoord—kan leiden tot ongeautoriseerde toegang. Gelukkig bestaat er een veel veiligere methode: SSH-sleutelauthenticatie. Met een sleutelpair vervang je je wachtwoord door een onkraakbare combinatie van openbare en geheime sleutels.
Op een avond besluit je de overstap te maken. Eerst genereer je op je lokale machine een RSA- of ed25519-sleutel:
ssh-keygen -t ed25519 -C "jouw.email@example.com"
Na het kiezen van een opslaglocatie en optioneel een passphrase heb je twee bestanden: id_ed25519 (je privésleutel) en id_ed25519.pub (je openbare sleutel).
Vervolgens kopieer je de openbare sleutel naar je server met:
ssh-copy-id gebruiker@serveradres
Zo wordt jouw id_ed25519.pub toegevoegd aan ~/.ssh/authorized_keys op de server. Als je nu verbinding maakt:
ssh gebruiker@serveradres
herkent de server automatisch jouw privé-sleutel en kun je zonder wachtwoord inloggen.
Zodra alles werkt, beveilig je de server verder door wachtwoordauthenticatie uit te schakelen in /etc/ssh/sshd_config:
PasswordAuthentication no
Herstart de SSH-service met sudo systemctl restart sshd en weet dat alleen machines met jouw privésleutel nog toegang hebben.
Voor nóg meer gebruiksgemak stel je een SSH-agent in op je lokale machine:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Zo hoef je niet telkens je passphrase in te voeren en blijven je sessies soepel doorlopen.
Met SSH-sleutels vergroot je de veiligheid van je hostingomgeving enorm, terwijl je inlogervaring juist eenvoudiger wordt. Voor een complete handleiding over geautomatiseerde serverback-ups na veilige toegang, bekijk je de praktische scripts op DotBashHosting.