Hoofdstuk 2 · 2.2
Een SSH-sleutel maken op Windows, Mac en Linux
Een SSH-sleutel is veiliger en makkelijker dan een wachtwoord. Hij bestaat uit twee delen:
- de privésleutel, die op je eigen computer blijft en die je met niemand deelt, ook niet met ons;
- de publieke sleutel, het bestand dat eindigt op
.pub. Die zet je op je server.
De sleutel maken
Het commando is op Windows, Mac en Linux hetzelfde. Open een terminal (op Windows PowerShell of Terminal) en typ:
ssh-keygen -t ed25519 -C "anna laptop"
- Druk op Enter bij de vraag waar de sleutel moet komen. Dan komt hij op de standaardplek.
- Kies een passphrase: een wachtzin die je sleutel beschermt als iemand je laptop in handen krijgt. Typ hem twee keer.
Met -C geef je de sleutel een herkenbare naam. Zo zie je later op de server welke sleutel van welk apparaat is. Maak per apparaat een eigen sleutel; raak je je laptop kwijt, dan haal je alleen die sleutel weg.
Waar staat je sleutel?
| Computer | Privésleutel | Publieke sleutel |
|---|---|---|
| Windows | C:\Users\jouwnaam\.ssh\id_ed25519 | C:\Users\jouwnaam\.ssh\id_ed25519.pub |
| Mac en Linux | ~/.ssh/id_ed25519 | ~/.ssh/id_ed25519.pub |
Je publieke sleutel laat je zien met:
cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK0vU3kQ1yQh7j3mEXAMPLEcDqzX1o2p3R4tY5uV6wZ anna laptop
Op Windows werkt cat ook in PowerShell, met cat $env:USERPROFILE\.ssh\id_ed25519.pub. Die ene regel kopieer je. Die plak je bij de installatie in het VPS-scherm (zie Je VPS installeren: besturingssysteem, wachtwoord en SSH-sleutel) of je zet hem op een draaiende server (zie Je sleutel op de server zetten en testen).
Niet steeds je passphrase typen
Met de ssh-agent typ je je passphrase één keer per sessie.
- Mac: de agent draait al. Voeg je sleutel toe met
ssh-add --apple-use-keychain ~/.ssh/id_ed25519; dan onthoudt je sleutelhanger de passphrase. - Linux: op de meeste bureaubladen draait de agent al. Voeg je sleutel toe met
ssh-add. - Windows: de dienst ssh-agent staat standaard uit. Zet hem één keer aan in PowerShell als beheerder:
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519
Let op: Je privésleutel is net zo geheim als een wachtwoord. Stuur hem nooit per mail of chat, zet hem niet in een gedeelde map en plak hem nooit in een formulier. Op de server hoort alleen het bestand met .pub.
