SSH Openbare Sleutelverificatie Clientconfiguratie (Windows/Linux)

Overzicht

Dit artikel beschrijft hoe u SSH Openbare Sleutelverificatie aan de clientzijde configureert om veilig verbinding te maken met een server. De uitleg geldt zowel voor Windows als Linux.

Vereisten

  • SSH-client is standaard geïnstalleerd (Windows 10 of hoger, of Linux)
  • De doelserver staat Openbare Sleutelverificatie toe
  • Er bestaat al een gebruikersaccount op de server

Sleuteltypen en encryptiemethoden

SSH ondersteunt verschillende sleutelformaten, waaronder RSA, ECDSA en Ed25519. Onderstaande tabel vergelijkt de eigenschappen, aanbevolen gebruik en compatibiliteit.

Sleuteltype Kenmerken Aanbevolen gebruik Compatibiliteit
RSA Algemeen gebruikt, aanpasbare sleutelgrootte, zeer compatibel Oudere systemen of brede compatibiliteit Zeer hoog
ECDSA Sneller dankzij elliptische krommen, kortere sleutels dan RSA Omgevingen waar prestaties belangrijk zijn Gemiddeld
Ed25519 Moderne standaard, snel en zeer veilig Nieuwe implementaties, hoge beveiliging Nieuwste SSH-versies

Aanbeveling: gebruik Ed25519 als de SSH-versie dit ondersteunt (OpenSSH 6.5+).
RSA blijft bruikbaar voor oudere systemen of FIPS-compatibele omgevingen.

Variabelen

Variabele Voorbeeld Opmerking
<<USERNAME>> exampleuser Lokale gebruikersnaam op de client
<<SERVER>> 192.168.1.10 Doelserver hostnaam of IP-adres
<<USER>> ubuntu of ec2-user Gebruiker voor SSH-aanmelding op de server
<<EMAIL_ADDRESS>> user@example.com Optioneel commentaar voor sleutel

Opmerking (Windows)

Alle Windows-commando’s zijn bedoeld voor PowerShell.
Gebruik alleen cmd.exe als PowerShell niet beschikbaar is.
Vervang in dat geval $env:USERPROFILE door %USERPROFILE%.


Windows Client

Stap 1: Sleutelpaar genereren

Open PowerShell als beheerder en voer uit:

ssh-keygen -t ed25519 -C "<<EMAIL_ADDRESS>>"

Uitvoervoorbeeld:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/C:/Users/<<USERNAME>>/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Your identification has been saved in /C:/Users/<<USERNAME>>/.ssh/id_ed25519
Your public key has been saved in /C:/Users/<<USERNAME>>/.ssh/id_ed25519.pub

Publieke sleutel: $env:USERPROFILE\.ssh\id_ed25519.pub
Privésleutel: $env:USERPROFILE\.ssh\id_ed25519

Stap 2: Publieke sleutel kopiëren naar server

cat $env:USERPROFILE\.ssh\id_ed25519.pub | ssh <<USER>>@<<SERVER>> "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 600 ~/.ssh/authorized_keys"

Of kopieer de inhoud handmatig naar ~/.ssh/authorized_keys op de server.

Stap 3: Verbinding testen

ssh -i $env:USERPROFILE\.ssh\id_ed25519 <<USER>>@<<SERVER>>

Bevestig de vingerafdruk door “yes” te typen bij de eerste verbinding.


Linux Client

Stap 1: Sleutelpaar genereren

ssh-keygen -t ed25519 -C "<<EMAIL_ADDRESS>>"

Uitvoervoorbeeld:

Enter file in which to save the key (/home/<<USERNAME>>/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):

Publieke sleutel: ~/.ssh/id_ed25519.pub
Privésleutel: ~/.ssh/id_ed25519

Stap 2: Publieke sleutel registreren

ssh-copy-id -i ~/.ssh/id_ed25519.pub <<USER>>@<<SERVER>>

Bevestig “yes” bij de eerste verbinding.

Stap 3: Verbinding testen

ssh -i ~/.ssh/id_ed25519 <<USER>>@<<SERVER>>

Gebruik van SSH-agent (met wachtwoordzin)

Als u een sleutel met wachtwoordzin gebruikt, kan een SSH-agent de sleutel tijdelijk in het geheugen bewaren zodat u het wachtwoord niet steeds hoeft in te voeren.

Stap 1: Agent starten

Windows

Set-Service -Name ssh-agent -StartupType Manual
Start-Service ssh-agent

Linux

eval "$(ssh-agent -s)"

Automatisch starten

Windows

Set-Service -Name ssh-agent -StartupType Automatic

Linux
Voeg toe aan ~/.bashrc of ~/.profile:

eval "$(ssh-agent -s)" > /dev/null

Stap 2: Sleutel toevoegen

Windows

ssh-add $env:USERPROFILE\.ssh\id_ed25519

Linux

ssh-add ~/.ssh/id_ed25519

Controleer:

ssh-add -l

SSH-configuratiebestand gebruiken

Maak verbinding eenvoudiger met een configuratiebestand.

Locatie:

  • Windows: C:\Users\<<USERNAME>>\.ssh\config
  • Linux: ~/.ssh/config

Voorbeeld:

Host myserver
    HostName <<SERVER>>
    User <<USER>>
    IdentityFile ~/.ssh/id_ed25519
    Port 22

Na configuratie:

ssh myserver

Meerdere servers

Host web
    HostName 192.168.1.10
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519

Host db
    HostName 192.168.1.11
    User ec2-user
    IdentityFile ~/.ssh/id_ed25519

Voor maximale veiligheid: gebruik per server een eigen sleutelbestand.


Verifiëren van configuratie

Gebruik gedetailleerde uitvoer om fouten op te sporen:

ssh -vvv -i ~/.ssh/id_ed25519 <<USER>>@<<SERVER>>

Controleer of Authentication succeeded (publickey) wordt weergegeven.


Problemen oplossen

  1. Server accepteert geen sleutelverificatie
    Controleer of PubkeyAuthentication yes actief is in sshd_config.

  2. Sleutelregistratie onvolledig
    Controleer de inhoud van ~/.ssh/authorized_keys en de rechten (chmod 600).

  3. Verkeerde gebruikers- of hostnaam
    Verifieer de juiste combinatie van User en HostName.


Samenvatting

SSH Openbare Sleutelverificatie maakt veilige verbindingen zonder wachtwoorden mogelijk.
Gebruik Ed25519 waar mogelijk, beheer sleutels zorgvuldig, en automatiseer het inladen via een SSH-agent voor efficiënt dagelijks gebruik.