Bedankt voor uw liefde voor mijn blogposts over SSH. Uit de statistieken blijkt dat veel mensen geïnteresseerd zijn in SSH, maar dat er een tekort aan integrale gidsen is over "hoe veilig te configureren vanaf het begin?"
SSH (Secure Shell) is niet alleen een tool voor externe toegang. Voor ontwikkelaars is het de levenslijn van serverbeheer, en voor gewone gebruikers is het een krachtig wapen dat toegang tot hun computer biedt, waar en wanneer dan ook.
Vandaag gaan we verder dan de basisconcepten van SSH en bespreken we de beveiligingsinstellingen en knowhow die essentieel zijn vanuit het perspectief van praktijkmensen om correct te beginnen.
1. Wat is SSH en waarom is het essentieel?
SSH staat voor Secure Shell en is een protocol waarmee je kunt inloggen op een andere computer op het netwerk, opdrachten kunt uitvoeren en bestanden kunt verzenden. De kern is 'versleuteling'. In tegenstelling tot Telnet worden alle communicatie-inhoud en gegevens versleuteld verzonden, zodat, zelfs als iemand de gegevens onderschept, ze de inhoud niet kan begrijpen.
-
Ontwikkelaars: Het is essentieel voor de uitrol en het beheer van cloudservers zoals AWS en Azure.
-
Niet-ontwikkelaars: Hiermee kunnen ze veilig de PC of NAS thuis of een Raspberry Pi op afstand bedienen.
2. Server (Remote) instellingen: de eerste stap naar beveiliging
Het installeren van openssh-server op de server (op afstand) is slechts het begin. Het gebruiken van de standaardinstellingen direct na installatie is zeer kwetsbaar op het gebied van beveiliging.
De locatie van het configuratiebestand is voor Linux /etc/ssh/sshd_config. Dit bestand moet worden aangepast om minimale veiligheidsmaatregelen te treffen.
Configuratiebestand aanpassen:
sudo nano /etc/ssh/sshd_config
Praktische instellingen 1: Wijzig de standaardpoort (Port Change)
SSH gebruikt wereldwijd de poort 22. Geautomatiseerde bots van hackers richten zich specifiek op poort 22. Door alleen het poortnummer te wijzigen, kun je meer dan 90% van brute-force aanvallen vermijden.
# Port 22 <-- commentaar of verwijderen
Port 22022 # Gebruik een willekeurig poortnummer hoger dan 1024
Praktische instellingen 2: Uitschakelen van wachtwoordauthenticatie (Password Authentication No)
Wachtwoorden kunnen ooit worden gekraakt. Je moet de SSH Key methode gebruiken, die veel veiliger is, en na het instellen van de sleutel het inloggen met wachtwoord volledig uitschakelen.
PasswordAuthentication no
⚠️ Opgelet: Deze instelling moet alleen worden toegepast nadat je hebt bevestigd dat het SSH-sleuteltoegang goed werkt. Anders kan het zijn dat je helemaal geen toegang meer tot de server hebt.
3. Lokale (Client) instellingen: Het genereren en registreren van sleutels (Key)
Nu is het tijd om de sleutel te maken waarmee je vanuit je PC (lokaal) toegang kunt krijgen tot de server. Vanaf hier is de knowhow van ervaren gebruikers vereist.
Knowhow 1: Maak herkenbare sleutel aan (-C optie)
Voer niet alleen ssh-keygen in wanneer je een sleutel genereert. Als je later veel sleutels hebt, wordt het moeilijk te onderscheiden welke sleutel waarvoor is. Gebruik absoluut de opmerking (Comment) optie.
# -t ed25519: de nieuwste encryptiemethode (uitstekende snelheid en veiligheid)
# -C: helpt bij identificatie door een opmerking aan het sleutelbestand toe te voegen.
ssh-keygen -t ed25519 -C "my-macbook-pro-home-server-key"
De gegenereerde sleutel wordt opgeslagen in de directory ~/.ssh/. (id_ed25519: privésleutel, id_ed25519.pub: openbare sleutel)
Knowhow 2: De makkelijkste manier om een sleutel te kopiëren (ssh-copy-id)
Je moet je gegenereerde openbare sleutel (pub) registreren op de server. Doe dit met één regel commando, zonder de moeite van knippen en plakken.
# Syntax: ssh-copy-id -i [pad naar openbare sleutel] [account]@[serveradres] -p [poort]
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@192.168.1.100 -p 22022
# Als de server verbonden is met een DNS-domein, kun je ook direct de DNS invoeren in plaats van het IP-adres, aangezien je router de DNS-server naar het IP omzet.
ssh-copy-id -i ~/.ssh/id_ed25519.pub alice@wonderland.com -p 22022
Dit commando voegt automatisch je openbare sleutel toe aan het ~/.ssh/authorized_keys bestand van de server.
Knowhow 3: Let op bij handmatige registratie (machtigingsproblemen)
Als je ssh-copy-id niet kunt gebruiken en je moet handmatig registreren, let dan op de bestandsmachtiging (Permission). SSH weigert de toegang om beveiligingsredenen als de machtigingen te open zijn.
Controleer na toegang tot de server in de home directory het volgende:
-
.sshfolder: Machtiging700(alleen ik kan lezen/schrijven/uitvoeren) -
authorized_keysbestand: Machtiging600(alleen ik kan lezen/schrijven)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Als je meer wilt weten over machtigingen in het Linux-bestandssysteem, klik dan hier voor meer details!
4. Toegangstest en volgende stappen
Als je alle voorbereidingen hebt getroffen, probeer dan in te loggen. Aangezien we de poort hebben gewijzigd, moet je de -p optie gebruiken.
ssh -p 22022 user@192.168.1.100
# Het maakt niet uit of het een LAN IP, WAN IP of DNS-domein is. Zorg ervoor dat het duidelijk naar de server verwijst.
Als je zonder een wachtwoordprompt toegang krijgt, is dat een succes. Stel nu de PasswordAuthentication no in in de sshd_config van de server om de beveiliging te voltooien.

Nu heb je een omgeving waarin je server veilig kunt beheren. Maar de wereld van SSH is breed. Leer meer over het automatiseren van verbindingen, het beheren van bestanden en het integreren van krachtigere beveiligings-tools in de onderstaande artikelen.
📖 Aanbevolen verdiepingsgidsen
-
SSH gebruik: van commando's schrijven tot nuttige opties voltooien!
-
De eerste stap naar automatisering van SSH-toegang: het config bestand beheersen
-
SSH reverse port forwarding: de magie om van buiten naar binnen te verbinden (feat. -R optie)
-
Beheer bestanden op de server via SSH zonder terminal: gebruik van SFTP en GUI-bestandsverkenner!
In de volgende post behandelen we het SSH Config bestand, dat veel mensen verwart, en leren we hoe je met slechts één woord verbinding kunt maken met de server zonder complexe opties. Als je dit nuttig vond, bekijk dan ook andere artikelen!
댓글이 없습니다.