In het vorige artikel hebben we de basis van het ssh-commando en handige opties besproken. Het telkens handmatig invoeren van complexe IP‑adressen, gebruikersnamen en poortnummers is echter een flinke rompslomp.
Hier komt het SSH Config‑bestand om de hoek kijken: het verhelpt die rommel in één keer. Het is als een favorietenlijst; je slaat de meest gebruikte servergegevens op en kunt ze via een alias snel benaderen.
Ik herinner me nog de tijd dat ik het config‑bestand niet kende. Ik vroeg me af hoe ik die ingewikkelde ssh‑verbindingen telkens opnieuw moest schrijven. Ik had zelfs een alias in mijn .bashrc gezet voor de meest gebruikte commando’s. Toen ik later de juiste manier van het maken van een config‑bestand ontdekte, besefte ik hoe onhandig mijn oude aanpak was.

Wat is het SSH Config‑bestand?
Het SSH Config‑bestand is een configuratiebestand waarmee je het gedrag van de SSH‑client kunt aanpassen. Door verbindingsgegevens (gebruikersnaam, poort, sleutelbestand, etc.) voor een specifieke host op te slaan, kun je later met een korte alias verbinden.
- Locatie: Meestal bevindt het zich als
configin de.ssh‑map van je home‑directory. Als je SSH voor het eerst installeert, bestaat het nog niet; je moet het aanmaken. - Bestand aanmaken: Als
~/.ssh/confignog niet bestaat, maak het dan aan. Stel de rechten op 600 in.
touch ~/.ssh/config
chmod 600 ~/.ssh/config # beveiliging vereist!
Regels voor het schrijven van het Config‑bestand
Het Config‑bestand is een eenvoudig tekstbestand. Voor elke host begint een blok met het sleutelwoord Host.
Basisstructuur
Host [alias]
[optie1] [waarde1]
[optie2] [waarde2]
...
Host [alias]: Geeft het begin van het blok aan en definieert de alias die je in het SSH‑commando gebruikt. Je kunt ook een echte hostnaam/IP gebruiken. Wildcards (*,?) zijn toegestaan.- Inspringen: De opties onder
Hostmoeten ingesprongen zijn. Gebruik spaties of tabs, maar houd het consistent. - Opties: Onder
Hostkun je verschillende SSH‑opties opgeven. Deze zijn identiek aan de opties die je eerder metssh -optgebruikte.
Veelgebruikte opties
| Optie | Beschrijving | Voorbeeldwaarde |
|---|---|---|
HostName |
De echte hostnaam of IP van de server | 192.168.1.100 of example.com |
User |
Gebruikersnaam op de remote server | ubuntu, ec2-user, root |
Port |
SSH‑poort (standaard 22) | 2222 |
IdentityFile |
Pad naar het privésleutelbestand | ~/.ssh/id_ed25519_myserver |
ForwardAgent |
SSH‑agent forwarding inschakelen | yes |
StrictHostKeyChecking |
Strikte hostkey‑controle (aanbevolen yes) |
no (voor tijdelijke tests) |
PortForwarding |
Poortforwarding toestaan | yes |
LocalForward |
Lokale poortforwarding (-L optie) |
8080 localhost:80 |
ServerAliveInterval |
Interval voor server‑alive‑signalen (seconden) | 60 |
ServerAliveCountMax |
Aantal mislukte pogingen voor disconnect | 3 |
Voorbeeld van het schrijven van een SSH Config‑bestand
Laten we een paar veelgebruikte servers toevoegen aan ~/.ssh/config.
# Eerste server: webserver (alias: webserver)
Host webserver
HostName 192.168.1.100
User ubuntu
Port 2222
IdentityFile ~/.ssh/id_ed25519_webserver # eigen sleutel voor webserver
# Tweede server: ontwikkelserver (alias: devbox)
Host devbox
HostName dev.example.com
User developer
IdentityFile ~/.ssh/id_rsa_dev # RSA‑sleutel
# Lokale poort 8000 naar remote 80
LocalForward 8000 localhost:80
# Derde server: alle AWS EC2‑servers (alias: aws-*)
Host aws-*
User ec2-user
IdentityFile ~/.ssh/aws_ec2_key.pem
# Regelmatig een signaal sturen om disconnect te voorkomen
ServerAliveInterval 60
ServerAliveCountMax 3
# Algemene instellingen voor een IP‑bereik (alias: 10.0.0.*)
Host 10.0.0.*
User admin
Port 22
Uitleg:
webserver: Verbindt met192.168.1.100alsubuntuvia poort2222en de sleutelid_ed25519_webserver.devbox: Verbindt metdev.example.comalsdevelopermet sleutelid_rsa_deven forwardt lokale poort 8000 naar remote 80.aws-*: Toepast op elke alias die begint metaws-. De gebruikersnaam en sleutel worden automatisch toegepast.10.0.0.*: Voor elke host in het bereik10.0.0.xwordtadminals gebruiker en poort 22 gebruikt.
In het voorbeeld gebruik ik een wildcard, maar in de praktijk maak ik meestal één‑op‑één‑mappings. Als ik dezelfde server met verschillende instellingen wil bereiken, voeg ik een extra alias toe en kies ik die via
ssh mijn-alias.

Hoe gebruik je het Config‑bestand?
Nu je het bestand hebt opgeslagen, wordt het verbinden veel eenvoudiger. Laten we de voorbeelden bekijken.
1. Verbinden via een alias
Gebruik alleen de alias in het SSH‑commando.
- Alias
webserver:
ssh webserver
Enter passphrase for key '/home/youruser/.ssh/id_ed25519_webserver':
ubuntu@webserver-ip:~ $
Dit commando is intern gelijk aan
ssh -p 2222 -i ~/.ssh/id_ed25519_webserver ubuntu@192.168.1.100.
- Alias
devbox:
ssh devbox
Enter passphrase for key '/home/youruser/.ssh/id_rsa_dev':
developer@devbox-domain:~ $
(Met lokale poort 8000 wordt verbinding gemaakt met remote 80.)
Voordelen van het Config‑bestand
- Gemak: Lange, complexe SSH‑commando’s worden vervangen door korte aliasen, waardoor fouten verminderen en tijd bespaard wordt.
- Productiviteit: Snelle toegang tot vaak gebruikte servers verhoogt de efficiëntie.
- Beheer: Alle verbindingsinstellingen op één plek; bij een IP‑verandering hoef je alleen het bestand aan te passen.
- Beveiliging: Gevoelige informatie (zoals sleutelpaden) blijft uit de commandoregelgeschiedenis.
Tot slot
Het SSH Config‑bestand is een onmisbaar hulpmiddel voor elke ontwikkelaar en systeembeheerder die SSH gebruikt. Door het te gebruiken, kun je je SSH‑ervaring aanzienlijk verbeteren. Open ~/.ssh/config, maak je eigen aliasen en geniet van een snellere, veiligere verbinding!
Lees ook andere SSH‑gerelateerde posts! Zoek in de rechterkolom naar 'ssh' om meer artikelen te vinden.
Heb je vragen? Laat het gerust weten in de reacties!