SSH-sleutels in Plaats van Wachtwoorden: Stap-voor-Stap Uitleg voor Beginners

Een van de belangrijkste stappen na de oplevering van je VPS is het vervangen van de traditionele wachtwoordauthenticatie door SSH-sleutels. SSH-sleutels zijn een veel veiligere en efficiëntere manier om toegang te krijgen tot je server. In dit artikel leer je stap voor stap hoe je SSH-sleutels kunt genereren, installeren en controleren, zodat je VPS beschermd is tegen brute-force aanvallen en ongeautoriseerde toegang.

Waarom SSH-sleutels Gebruiken in Plaats van Wachtwoorden?

Wachtwoorden zijn kwetsbaar voor brute-force aanvallen en kunnen relatief gemakkelijk worden gekraakt als ze niet sterk genoeg zijn. SSH-sleutels bieden een veel hogere mate van beveiliging doordat ze gebruik maken van asymmetrische encryptie. Dit betekent dat je twee sleutels hebt: een public en een private sleutel. De public key wordt op je VPS geplaatst, terwijl de private key veilig op je eigen computer blijft. Alleen met de juiste private key krijg je toegang tot je server.

Voordelen van SSH-sleutels:

  • Veiliger dan wachtwoorden: SSH-sleutels kunnen niet worden gekraakt door brute-force aanvallen.
  • Eenvoudig in gebruik: Na de initiële configuratie hoef je niet steeds een wachtwoord in te voeren.
  • Meer controle: Je hebt volledige controle over wie toegang heeft tot je server door specifieke SSH-sleutels toe te voegen of te verwijderen.

Stap 1: Genereren van een SSH-sleutel

Voordat je SSH-sleutels kunt gebruiken, moet je een paar sleutels genereren. Dit proces kan eenvoudig worden uitgevoerd op je lokale computer.

  • Voor Linux en macOS gebruikers: Open de terminal en voer het volgende commando in om een SSH-sleutelpaar te genereren: ssh-keygen -t rsa -b 4096 -C "[email protected]"Wat dit doet:
    • -t rsa specificeert het gebruik van RSA als algoritme, dat veilig en veelgebruikt is.
    • -b 4096 bepaalt dat de sleutel 4096 bits lang is, wat zorgt voor extra veiligheid.
    • -C "[email protected]" voegt een commentaar toe aan je sleutel zodat je later kunt zien waarvoor deze is gegenereerd.

Je wordt gevraagd om een bestandsnaam en locatie op te geven waar de sleutel moet worden opgeslagen. Standaard is dit in de map ~/.ssh/. Je kunt gewoon op “Enter” drukken om de standaardlocatie te accepteren.

Als laatste stap wordt je gevraagd om een wachtwoordzin in te voeren. Dit is optioneel, maar het toevoegen van een wachtwoordzin verhoogt de beveiliging van je private sleutel. Je moet deze wachtwoordzin dan elke keer invoeren wanneer je de sleutel gebruikt.

  • Voor Windows gebruikers: Als je Windows gebruikt, kun je de tool PuTTYgen downloaden en installeren om SSH-sleutels te genereren. Open PuTTYgen, selecteer RSA en kies 4096 bits voor de sleutelgrootte. Klik op “Generate” en volg de aanwijzingen op het scherm.

Stap 2: Public Key Toevoegen aan je VPS

Nu je een SSH-sleutelpaar hebt gegenereerd, moet je de public key toevoegen aan je VPS, zodat deze jouw private key kan herkennen en je toegang kan verlenen.

  1. Kopieer de public key: Je public key bevindt zich meestal in het bestand ~/.ssh/id_rsa.pub. Open dit bestand met een teksteditor en kopieer de volledige inhoud.Bijvoorbeeld, gebruik het commando: cat ~/.ssh/id_rsa.pubDit zal de public key tonen, die je kunt kopiëren.
  2. Verbind met je VPS: Gebruik je wachtwoord om één laatste keer via SSH in te loggen op je VPS.
  3. Voeg de public key toe: Plak je public key in het bestand ~/.ssh/authorized_keys op je VPS. Als de map .ssh nog niet bestaat, kun je deze maken:
    • Maak de .ssh map: mkdir -p ~/.ssh
    • Voeg de public key toe aan het bestand authorized_keys met dit commando: echo "je_gekopieerde_public_key" >> ~/.ssh/authorized_keys
  4. Stel de juiste rechten in: Zorg ervoor dat de juiste bestandsrechten zijn ingesteld voor de .ssh map en het bestand authorized_keys om beveiligingsproblemen te voorkomen:
    • chmod 700 ~/.ssh
    • chmod 600 ~/.ssh/authorized_keys

Stap 3: Wachtwoordauthenticatie Uitschakelen

Om je VPS nog veiliger te maken, kun je de wachtwoordauthenticatie uitschakelen zodat er alleen via SSH-sleutels kan worden ingelogd.

  1. Open het SSH-configuratiebestand op je VPS: sudo nano /etc/ssh/sshd_config
  2. Zoek de regel waarin staat PasswordAuthentication yes en wijzig dit in PasswordAuthentication no om wachtwoordauthenticatie uit te schakelen.
  3. Zoek ook de regel waarin staat ChallengeResponseAuthentication yes en zet dit op no om er zeker van te zijn dat wachtwoordauthenticatie volledig is uitgeschakeld.
  4. Sla het bestand op en sluit de editor.
  5. Herstart de SSH-dienst om de wijzigingen door te voeren: sudo systemctl restart ssh

Stap 4: Testen van je SSH-sleutel

Nu je alles hebt ingesteld, is het tijd om te testen of je SSH-sleutel correct werkt. Open een nieuwe terminal of gebruik een SSH-client om verbinding te maken met je VPS:

ssh gebruikersnaam@jouw_vps_ip

Als alles correct is ingesteld, moet je zonder problemen toegang krijgen tot je VPS zonder dat je een wachtwoord hoeft in te voeren (tenzij je een wachtwoordzin hebt ingesteld voor je private sleutel).

Stap 5: Beveiliging Controleren en Back-up Maken

Nu je SSH-sleutels succesvol hebt ingesteld, zijn er nog een paar stappen om ervoor te zorgen dat je volledig veilig bent:

  1. Maak een back-up van je private sleutel: Als je je private sleutel kwijtraakt, verlies je de toegang tot je VPS. Maak dus altijd een veilige back-up van de private sleutel op een externe locatie.
  2. Beperk root-toegang: Je kunt ervoor kiezen om root-toegang via SSH volledig uit te schakelen en in plaats daarvan alleen via een gewone gebruiker in te loggen. Dit kun je doen door PermitRootLogin no in het SSH-configuratiebestand in te stellen.
  3. Gebruik een sterke wachtwoordzin: Als je een wachtwoordzin hebt ingesteld voor je SSH-sleutel, zorg ervoor dat deze sterk is en dat je deze niet vergeet.

Conclusie

Het gebruik van SSH-sleutels in plaats van wachtwoorden voor het inloggen op je VPS is een essentiële stap om je server te beveiligen. SSH-sleutels bieden een veel veiliger alternatief voor traditionele wachtwoordauthenticatie en verminderen het risico op brute-force aanvallen. Door de bovenstaande stappen te volgen, kun je eenvoudig je eigen SSH-sleutels genereren, installeren en controleren, en je VPS beschermen tegen ongeautoriseerde toegang.

Met deze beveiligingsstappen kun je met een gerust hart je VPS gebruiken, wetende dat alleen geautoriseerde gebruikers toegang hebben tot je server.