- 1 1. Inleiding
- 2 2. Basis SSH-configuratie
- 3 3. SSH-beveiliging verbeteren
- 4 Samenvatting
- 5 4. Geavanceerde SSH‑configuratie
- 6 Samenvatting
- 7 5. Problemen met SSH oplossen
- 8 Samenvatting
- 9 6. FAQ (Veelgestelde vragen)
- 9.1 6.1 Hoe SSH-timeouts voorkomen?
- 9.2 6.2 Wat te doen als ik mijn SSH-wachtwoord vergeet?
- 9.3 6.3 Hoe SSH op Windows gebruiken?
- 9.4 6.4 Hoe SSH in Ubuntu WSL (Windows Subsystem for Linux) in te stellen?
- 9.5 6.5 Welke extra beveiligingsmaatregelen moet ik nemen?
- 9.6 6.6 Hoe SSH‑logs in realtime bekijken?
- 9.7 6.7 Hoe SSH handiger maken?
- 10 Samenvatting
- 11 Gerelateerde artikelen
1. Inleiding
Het instellen van SSH op Ubuntu is essentieel voor het beheren van externe servers. SSH (Secure Shell) is een protocol dat veilige versleutelde communicatie biedt, veel gebruikt voor toegang tot externe servers, opdrachtuitvoering en bestandsoverdrachten. In deze handleiding behandelen we alles van basisinstallatie tot geavanceerde beveiligingsconfiguraties voor SSH op Ubuntu.
1.1 Waarom SSH instellen op Ubuntu?
1.1.1 Wat is SSH?
SSH (Secure Shell) is een protocol ontworpen voor veilige communicatie over een netwerk. Het wordt vaak gebruikt voor inloggen op externe servers, bestandsoverdracht en tunneling (poortforwarding). In tegenstelling tot traditionele protocollen zoals Telnet of FTP, versleutelt SSH alle communicatie, waardoor het zeer veilig is.
1.1.2 Wanneer heb je SSH nodig op Ubuntu?
SSH is nuttig voor remote management in verschillende scenario’s, zoals:
- Beheren van cloud servers : Cloudservices zoals AWS, GCP en Vultr gebruiken SSH voor toegang tot externe servers.
- Remote operaties in een LAN-omgeving : Toegang tot interne servers of ontwikkelingsmachines via SSH voor remote werk.
- Beheren van IoT-apparaten : Remote besturing van ingebedde apparaten zoals Raspberry Pi.
Standaard is SSH uitgeschakeld op Ubuntu. Om het te gebruiken, moet je het handmatig installeren en configureren.
2. Basis SSH-configuratie
Om SSH op Ubuntu te gebruiken, moet je de SSH-server (OpenSSH) installeren en correct configureren. Dit gedeelte behandelt installatie, basisinstellingen, firewallconfiguratie en hoe je verbinding maakt met je server.
2.1 Installeren en starten van OpenSSH
2.1.1 Wat is OpenSSH?
OpenSSH (Open Secure Shell) is een open-source implementatie van het SSH-protocol. Het ondersteunt remote verbindingen, veilige bestandsoverdrachten (SCP en SFTP) en poortforwarding.
2.1.2 OpenSSH installeren
Standaard wordt Ubuntu niet geleverd met een voorgeïnstalleerde SSH-server. Gebruik de volgende opdracht om het te installeren:
sudo apt update && sudo apt install -y openssh-server
Deze opdracht werkt de pakketlijst bij en installeert de OpenSSH-server.
2.1.3 SSH-server starten en inschakelen
Zodra geïnstalleerd, start de SSH-server en schakel het in om bij het opstarten te lanceren.
sudo systemctl enable --now ssh
De optie enable zorgt ervoor dat SSH automatisch start wanneer het OS opstart.
2.1.4 SSH-status verifiëren
Om te controleren of de SSH-server draait, gebruik:
systemctl status ssh
Als je een uitvoer ziet zoals de volgende, draait SSH correct:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-02-28 12:00:00 UTC; 5min ago
Als je inactive (dead) of failed ziet, start de service handmatig:
sudo systemctl start ssh
2.2 Firewall configureren (UFW)
Ubuntu biedt ufw (Uncomplicated Firewall) voor eenvoudige firewallbeheer. Je moet UFW configureren om SSH-verbindingen toe te staan.
2.2.1 UFW-status controleren
Controleer de huidige firewallstatus met:
sudo ufw status
Voorbeeld uitvoer (als UFW uitgeschakeld is):
Status: inactive
Voorbeeld uitvoer (als UFW ingeschakeld is):
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
2.2.2 SSH-verkeer toestaan
Om SSH-verbindingen toe te staan op de standaardpoort 22, voer uit:
sudo ufw allow ssh
Alternatief, specificeer de poort expliciet:
sudo ufw allow 22/tcp
2.2.3 UFW inschakelen
Als UFW uitgeschakeld is, schakel het in met:
sudo ufw enable
Voordat je UFW inschakelt, zorg ervoor dat SSH is toegestaan, anders kun je jezelf buitensluiten.
2.2.4 UFW-instellingen verifiëren
Controleer of de firewallregels correct zijn toegepast:
sudo ufw status verbose
Voorbeeld uitvoer:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Als je dit ziet, is SSH toegestaan door de firewall.
2.3 Verbinden met SSH
Zodra de SSH‑server draait, kun je vanaf een client‑pc verbinding maken.
2.3.1 Verbinden vanaf Linux/macOS
Open op Linux of macOS een terminal en voer uit:
ssh username@server-ip-address
Voorbeeld:
ssh user@192.168.1.100
Bij de eerste verbinding kun je een beveiligingswaarschuwing zien zoals deze:
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?
Typ yes en druk op Enter om door te gaan.
2.3.2 Verbinden vanaf Windows
Op Windows kun je PowerShell of PuTTY gebruiken om via SSH verbinding te maken.
PowerShell gebruiken
Windows 10 en later bevatten een SSH‑client in PowerShell. Maak verbinding met:
ssh username@server-ip-address
PuTTY gebruiken
- Download en installeer PuTTY van de officiële site .
- Open PuTTY en voer het IP‑adres van de server in bij
Host Name (or IP address). - Stel
Connection typein opSSHen klik opOpen. - Voer je gebruikersnaam en wachtwoord in om verbinding te maken.
3. SSH-beveiliging verbeteren
SSH is een krachtig hulpmiddel voor externe toegang, maar het laten staan met standaardinstellingen kan beveiligingsrisico’s met zich meebrengen. Aanvallers richten zich vaak op SSH‑servers met brute‑force‑aanvallen of poortscans. Om een veiliger SSH‑omgeving te creëren, is het essentieel om de juiste beveiligingsconfiguraties toe te passen.
3.1 Root‑login uitschakelen
Standaard staat Ubuntu root‑login via SSH toe. Omdat het root‑account volledige systeemprivileges heeft, is het een veelvoorkomend doelwit voor aanvallers. Het uitschakelen van root‑login en in plaats daarvan een regulier gebruikersaccount gebruiken verbetert de beveiliging aanzienlijk.
3.1.1 Configuratiestappen
- Bewerk het SSH‑configuratiebestand
/etc/ssh/sshd_config.sudo nano /etc/ssh/sshd_config
- Zoek de volgende regel en wijzig deze naar
PermitRootLogin no.PermitRootLogin no
- Sla het bestand op en herstart de SSH‑service.
sudo systemctl restart ssh
- Controleer of de instelling is toegepast.
sudo grep PermitRootLogin /etc/ssh/sshd_config
Als de output PermitRootLogin no toont, is de instelling succesvol toegepast.
3.2 Wachtwoordauthenticatie uitschakelen en openbare‑sleutel‑authenticatie inschakelen
Openbare‑sleutel‑authenticatie is veel veiliger dan afhankelijk zijn van wachtwoordauthenticatie. Met openbare‑sleutel‑authenticatie hoef je geen wachtwoord in te voeren, waardoor het risico op brute‑force‑aanvallen wordt verminderd.
3.2.1 Een SSH‑sleutelpaar genereren
Genereer op je lokale pc een SSH‑sleutelpaar:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
Dit maakt twee bestanden aan:
- Privésleutel (
id_rsa) → Bewaar deze op je lokale pc (deel hem nooit publiekelijk). - Openbare sleutel (
id_rsa.pub) → Kopieer deze naar de server.
3.2.2 De openbare sleutel naar de server kopiëren
Gebruik het volgende commando om je openbare sleutel naar de server te kopiëren:
ssh-copy-id username@server-ip-address
3.2.3 Wachtwoordauthenticatie uitschakelen
Bewerk het SSH‑configuratiebestand:
sudo nano /etc/ssh/sshd_config
Zoek de volgende regel en wijzig deze naar:
PasswordAuthentication no
Herstart SSH om de wijzigingen toe te passen:
sudo systemctl restart ssh
3.3 SSH-toegang beperken tot specifieke gebruikers
Om de beveiliging te verbeteren, kun je SSH-toegang beperken tot specifieke gebruikers.
3.3.1 Configuratiestappen
- Open het SSH‑configuratiebestand.
sudo nano /etc/ssh/sshd_config
- Voeg de volgende regel toe, waarin de toegestane gebruikers worden gespecificeerd.
AllowUsers user1 user2
- Herstart SSH om de wijzigingen toe te passen.
sudo systemctl restart ssh
3.4 De SSH‑poort wijzigen
De standaard SSH‑poort (22) wordt vaak aangevallen. Het wijzigen naar een niet‑standaard poort kan het risico op geautomatiseerde aanvallen verminderen.
3.4.1 Configuratiestappen
- Open het SSH‑configuratiebestand.
sudo nano /etc/ssh/sshd_config
- Zoek de volgende regel en wijzig deze naar een aangepaste poort (bijv.
2200).Port 2200
- Sla het bestand op en herstart SSH.
sudo systemctl restart ssh
3.4.2 Firewallinstellingen bijwerken
Na het wijzigen van de SSH‑poort, sta de nieuwe poort toe via UFW:
sudo ufw allow 2200/tcp
Controleer de instellingen:
sudo ufw status
3.5 Brute‑force‑aanvallen voorkomen met Fail2Ban
Fail2Ban is een tool die mislukte SSH‑inlogpogingen detecteert en het aanvallende IP‑adres tijdelijk blokkeert.
3.5.1 Fail2Ban installeren
sudo apt install fail2ban -y
3.5.2 Een configuratiebestand maken
Kopieer het standaardconfiguratiebestand:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Bewerk het configuratiebestand:
sudo nano /etc/fail2ban/jail.local
Pas de SSH‑sectie als volgt aan:
[sshd]
enabled = true
port = 2200
maxretry = 3
findtime = 600
bantime = 3600
3.5.3 Fail2Ban herstarten
Herstart Fail2Ban om de wijzigingen toe te passen:
sudo systemctl restart fail2ban
3.5.4 De ban‑lijst controleren
Om te controleren welke IP‑adressen geband zijn:
sudo fail2ban-client status sshd
Samenvatting
In deze sectie hebben we essentiële SSH‑beveiligingsverbeteringen behandeld, waaronder:
- Root‑login uitschakelen
- Wachtwoordauthenticatie uitschakelen en publieke‑sleutel‑authenticatie inschakelen
- SSH‑toegang beperken tot specifieke gebruikers
- De SSH‑poort wijzigen
- Fail2Ban gebruiken om brute‑force‑aanvallen te blokkeren
Door deze maatregelen te implementeren, kun je een veiligere SSH‑omgeving creëren.
4. Geavanceerde SSH‑configuratie
Na het configureren van SSH‑beveiliging kun je profiteren van geavanceerde instellingen om bruikbaarheid en veiligheid te verbeteren. Deze sectie behandelt het beheer van ssh.socket in Ubuntu 22.10 en later, SSH‑tunneling (poort‑forwarding), het instellen van meerdere SSH‑poorten en het beperken van SSH‑toegang tot specifieke IP‑adressen.
4.1 ssh.socket gebruiken in Ubuntu 22.10 en later
Vanaf Ubuntu 22.10 kan het beheer van de SSH‑service overschakelen van ssh.service naar ssh.socket. Hierdoor kan SSH dynamisch starten wanneer een verbindingsverzoek wordt ontvangen, waardoor het resource‑gebruik wordt verminderd.
4.1.1 De status van ssh.socket controleren
Om te controleren of ssh.socket is ingeschakeld, voer je het volgende uit:
sudo systemctl status ssh.socket
Voorbeeldoutput (indien ingeschakeld):
● ssh.socket - OpenSSH Server Socket
Loaded: loaded (/lib/systemd/system/ssh.socket; enabled; vendor preset: enabled)
Active: active (listening) since Fri 2025-02-28 12:00:00 UTC
4.1.2 ssh.socket in- of uitschakelen
Als ssh.socket is uitgeschakeld, schakel het dan in met:
sudo systemctl enable --now ssh.socket
Om terug te gaan naar de traditionele ssh.service, schakel ssh.socket uit en schakel ssh.service in:
sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service
4.2 SSH‑tunneling (poort‑forwarding)
SSH‑tunneling maakt veilige gegevensoverdracht mogelijk tussen een externe server en een lokale pc, waarbij externe netwerken worden omzeild.
4.2.1 Lokale poort‑forwarding
Handig voor het veilig benaderen van externe databases of webservers.
Voorbeeld: Verbinden met een externe MySQL‑server (poort 3306) vanaf je lokale pc
ssh -L 3306:localhost:3306 username@server-ip-address
4.2.2 Externe poort‑forwarding
Stelt een lokale service beschikbaar voor een externe server via SSH.
Voorbeeld: Een lokale webserver (poort 80) doorsturen naar poort 8080 op een externe server
ssh -R 8080:localhost:80 username@server-ip-address
4.2.3 Dynamische poort‑forwarding
Maakt van SSH een SOCKS‑proxy voor anoniem surfen.
Voorbeeld: Een SOCKS‑proxy maken op lokale poort 1080
ssh -D 1080 username@server-ip-address
4.3 Luisteren op meerdere SSH‑poorten
Standaard luistert SSH op één poort (poort 22). Het configureren van meerdere poorten biedt meer flexibiliteit.
4.3.1 Configuratiestappen
- Bewerk het SSH‑configuratiebestand.
sudo nano /etc/ssh/sshd_config
- Voeg meerdere poort‑vermeldingen toe.
Port 22 Port 2200
- Herstart SSH.
sudo systemctl restart ssh
- Sta de nieuwe poort toe in de firewall.
sudo ufw allow 2200/tcp
4.4 Beperken van SSH-toegang tot specifieke IP-adressen
Om de beveiliging te verbeteren, kun je SSH-toegang beperken tot specifieke IP-adressen.
4.4.1 Configureren van /etc/hosts.allow
Sta SSH-toegang alleen toe vanaf bepaalde IP-adressen door het bestand te bewerken:
sudo nano /etc/hosts.allow
Voeg de volgende regel toe (vervang 192.168.1.100 door het toegestane IP-adres):
sshd: 192.168.1.100
4.4.2 Configureren van /etc/hosts.deny
Om standaard alle andere IP’s te blokkeren:
sudo nano /etc/hosts.deny
sshd: ALL
Dit zorgt ervoor dat alleen IP’s die in hosts.allow staan SSH kunnen benaderen.
Samenvatting
Deze sectie behandelde geavanceerde SSH-instellingen, waaronder:
- Beheren van
ssh.socketin Ubuntu 22.10 en later - Gebruik van SSH-tunneling (poortdoorschakeling) voor veilige verbindingen
- Luisteren op meerdere SSH-poorten
- Beperken van SSH-toegang tot specifieke IP’s
Het toepassen van deze instellingen verbetert de SSH-beveiliging en bruikbaarheid.
5. Problemen met SSH oplossen
Zelfs met een juiste configuratie kunnen er SSH-problemen optreden. Deze sectie biedt oplossingen voor veelvoorkomende SSH-problemen.
5.1 Niet in staat om verbinding te maken met SSH
Als je een Connection refused– of time-outfout krijgt, controleer dan het volgende.
5.1.1 SSH-service draait niet
Controleer de status van de SSH-service:
sudo systemctl status ssh
Oplossing:
- Als
Active: inactive (dead)offailed, herstart SSH.sudo systemctl restart ssh
- Schakel in dat SSH automatisch start.
sudo systemctl enable ssh
5.1.2 Firewall blokkeert SSH
Zorg ervoor dat SSH is toegestaan via UFW:
sudo ufw status
Oplossing: Als SSH niet is toegestaan:
sudo ufw allow 22/tcp
Als je een aangepaste poort gebruikt:
sudo ufw allow 2200/tcp
5.2 Authenticatiefouten
Als SSH inlogpogingen weigert, controleer dan het volgende:
5.2.1 Onjuiste gebruikersnaam of wachtwoord
Zorg ervoor dat je de juiste gebruikersnaam gebruikt:
ssh username@server-ip-address
5.2.2 Problemen met authenticatie via openbare sleutel
Controleer of je openbare sleutel correct is opgeslagen in ~/.ssh/authorized_keys.
cat ~/.ssh/authorized_keys
5.2.3 Onjuiste permissies
Zorg ervoor dat de SSH-map en bestanden de juiste permissies hebben:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Samenvatting
Deze sectie behandelde veelvoorkomende SSH-problemen en hun oplossingen, waaronder:
- Controleren of SSH draait
- Zorgen dat de firewall SSH niet blokkeert
- Authenticatieproblemen oplossen
Gebruik deze stappen om snel SSH-verbindingproblemen op te lossen.
6. FAQ (Veelgestelde vragen)
Deze sectie behandelt veelvoorkomende SSH-gerelateerde vragen en oplossingen om je SSH-ervaring te verbeteren terwijl de beveiliging behouden blijft.
6.1 Hoe SSH-timeouts voorkomen?
Als SSH-verbindingen na een periode van inactiviteit worden verbroken, probeer dan de volgende instellingen.
6.1.1 Server-side configuratie
Bewerk /etc/ssh/sshd_config en voeg toe:
ClientAliveInterval 60
ClientAliveCountMax 3
Herstart SSH om de wijzigingen toe te passen:
sudo systemctl restart ssh
6.1.2 Client-side configuratie
Pas het lokale SSH-configuratiebestand ~/.ssh/config aan:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
6.2 Wat te doen als ik mijn SSH-wachtwoord vergeet?
6.2.1 Als je fysieke toegang tot de server hebt
- Start op in herstelmodus via het GRUB-menu.
- Reset het wachtwoord met het volgende commando:
passwd username
- Herstart het systeem.
6.2.2 Als je geen fysieke toegang tot de server hebt (bijv. Cloud VPS)
- Gebruik de console-functie van de cloudprovider om toegang te krijgen tot de server.
- Stel SSH-sleutel authenticatie in plaats van wachtwoorden te gebruiken.
6.3 Hoe SSH op Windows gebruiken?
6.3.1 PowerShell gebruiken
Windows 10 en later bevatten een ingebouwde SSH-client. Open PowerShell en voer uit:
ssh username@server-ip-address
6.3.2 PuTTY gebruiken
- Download en installeer PuTTY .
- Voer het IP-adres van de server in
Host Name (or IP address). - Selecteer
SSHals het verbindingstype en klik opOpen. - Log in met je gebruikersnaam en wachtwoord.
6.4 Hoe SSH in Ubuntu WSL (Windows Subsystem for Linux) in te stellen?
Om SSH op WSL in te schakelen, volg deze stappen.
6.4.1 SSH-server installeren
sudo apt update && sudo apt install openssh-server
6.4.2 SSH configureren
Bewerk /etc/ssh/sshd_config en schakel wachtwoordauthenticatie in:
PasswordAuthentication yes
Aangezien WSL standaard geen systemd gebruikt, start SSH handmatig:
sudo service ssh start
6.5 Welke extra beveiligingsmaatregelen moet ik nemen?
6.5.1 Fail2Ban installeren
Voorkom brute‑force aanvallen door Fail2Ban te installeren:
sudo apt install fail2ban -y
Bewerk het configuratiebestand /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = 22
maxretry = 3
findtime = 600
bantime = 3600
Herstart Fail2Ban:
sudo systemctl restart fail2ban
6.5.2 SSH‑poort wijzigen
Pas /etc/ssh/sshd_config aan om de standaard SSH‑poort te wijzigen:
Port 2200
Herstart SSH en werk de firewallinstellingen bij:
sudo ufw allow 2200/tcp
6.6 Hoe SSH‑logs in realtime bekijken?
Om SSH‑logs in realtime te bekijken, gebruik:
sudo journalctl -u ssh -f
Om eerdere logs te bekijken:
sudo cat /var/log/auth.log | grep ssh
6.7 Hoe SSH handiger maken?
6.7.1 .ssh/config gebruiken voor gemakkelijke login
Sla vaak gebruikte SSH‑verbindingen op in ~/.ssh/config:
Host myserver
HostName 192.168.1.100
User user
Port 2200
IdentityFile ~/.ssh/id_rsa
Nu kun je verbinden met:
ssh myserver
6.7.2 ssh-agent gebruiken om herhaald invoeren van wachtwoord te vermijden
Voer uit:
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
Dit maakt SSH‑verbindingen mogelijk zonder elke keer de wachtwoordzin in te voeren.
Samenvatting
Deze sectie gaf antwoorden op veelvoorkomende SSH‑gerelateerde vragen, waaronder:
- Voorkomen van SSH‑timeouts
- Herstellen van een vergeten wachtwoord
- SSH gebruiken op Windows en WSL
- Extra beveiligingsmaatregelen toepassen
- SSH‑logs monitoren
- SSH‑gebruik handiger maken
Door deze tips te volgen, kun je een veilige en efficiënte SSH‑omgeving voor beheer op afstand creëren.
Gerelateerde artikelen
1. Introductie Door SSH op Ubuntu te gebruiken, kun je veilig je server of pc op afstand en beheren. Deze gids legt alle[…]


![Hoe je Python‑versies op Ubuntu kunt controleren, wijzigen en wisselen [Complete gids]](https://www.linux.digibeatrix.com/wp-content/uploads/2025/02/36b84d2ec91b0993972a29a44e5757c7-375x214.webp)
![Hoe controleer je de CUDA-versie op Ubuntu [Eenvoudige commandogids]](https://www.linux.digibeatrix.com/wp-content/uploads/2025/03/7ad0e7fe124605dc3cd746565dc1d108-375x214.webp)