Overzicht
De SSH-server luistert naar SSH-verbindingsverzoeken van clients, authenticeert ze en stelt een veilige communicatiesessie in. Hiermee kunt u op afstand commando's uitvoeren of bestanden veilig overdragen. Het kernonderdeel van de server is de `sshd`-daemon, die doorgaans zo is geconfigureerd dat deze automatisch wordt gestart bij het opstarten van het systeem.
Belangrijkste functies
Dit zijn de kernfuncties die de SSH-server biedt.
- Externe shell-toegang: Verbinding maken met externe servers via een versleuteld terminal om commando's uit te voeren
- Veilige bestandsoverdracht: Bestanden uploaden/downloaden met SCP (Secure Copy) en SFTP (SSH File Transfer Protocol)
- Poort-forwarding: Veilige toegang bieden tot onbeveiligde services door lokale/externe poorten te tunnelen
- Sleutelgebaseerde authenticatie: Sterkere beveiligingsauthenticatie met SSH-sleutels in plaats van wachtwoorden
Belangrijkste opties (sshd commando)
Dit zijn de belangrijkste opties die worden gebruikt bij het rechtstreeks uitvoeren van de `sshd`-daemon. Omdat deze doorgaans via een servicebeheerder zoals `systemd` wordt uitgevoerd, zijn deze opties vooral nuttig voor debugging of het testen van specifieke omgevingsconfiguraties.
Uitvoeren en debuggen
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`ssh-server` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Installatie
Op de meeste Linux-distributies wordt de SSH-server geleverd via het `openssh-server`-pakket. Als het standaard niet is geïnstalleerd, kunt u het installeren met de volgende commando's.
Debian/Ubuntu-gebaseerde systemen
sudo apt update
sudo apt install openssh-server
Installeert `openssh-server` met de APT-pakketbeheerder.
CentOS/RHEL-gebaseerde systemen
sudo yum install openssh-server
# Of Fedora/recente RHEL:
sudo dnf install openssh-server
Installeert `openssh-server` met de YUM- of DNF-pakketbeheerder.
Gebruiksvoorbeelden
Dit zijn veelvoorkomende manieren om de SSH-server te beheren en te configureren.
SSH-service starten
sudo systemctl start ssh
Start de SSH-daemon (`sshd`)-service.
SSH-service herstarten
sudo systemctl restart ssh
Herstart de SSH-daemon-service. Wordt vaak gebruikt na het wijzigen van configuratiebestanden om de wijzigingen toe te passen.
SSH-service status controleren
sudo systemctl status ssh
Controleert de huidige status van de SSH-daemon-service.
SSH-service automatisch starten inschakelen
sudo systemctl enable ssh
Configureert de SSH-service om automatisch te starten bij het opstarten van het systeem.
SSH-poort openen in de firewall (UFW)
sudo ufw allow ssh
# Of als u een specifieke poort gebruikt:
sudo ufw allow 2222/tcp
Als u UFW (Uncomplicated Firewall) gebruikt, staat u de standaard SSH-poort (22) toe.
SSH-configuratiebestand bewerken
sudo nano /etc/ssh/sshd_config
Bewerkt het belangrijkste configuratiebestand van de SSH-server, `sshd_config`. Na wijzigingen moet de SSH-service absoluut opnieuw worden gestart.
Tips & Aandachtspunten
Dit zijn belangrijke tips en aandachtspunten voor het veilig en efficiënt beheren van de SSH-server.
Tips voor het verbeteren van de beveiliging
Dit zijn aanbevolen maatregelen om de beveiliging van de SSH-server te verhogen.
- **Standaardpoort wijzigen**: Wijzig de standaard SSH-poort (22) naar een andere, minder bekende poort (bijv. 2222) om het aantal willekeurige aanvalspogingen te verminderen. (Wijzig de `Port`-instructie in het bestand `/etc/ssh/sshd_config`)
- **Gebruik sleutelgebaseerde authenticatie in plaats van wachtwoorden**: Genereer een SSH-sleutelpaar om veel sterkere beveiliging te bieden dan wachtwoordauthenticatie. (Stel `PasswordAuthentication no` in)
- **Root-login uitschakelen**: Verbied directe SSH-toegang met het `root`-account en gebruik `sudo` na het inloggen met een normaal gebruikersaccount. (Stel `PermitRootLogin no` in)
- **Gebruik Fail2Ban**: Installeer tools zoals `Fail2Ban`, die IP-adressen automatisch blokkeren na herhaalde mislukte inlogpogingen, om brute-force-aanvallen af te weren.
- **Toegestane gebruikers/groepen beperken**: Specificeer expliciet de gebruikers of groepen die SSH-toegang mogen hebben met behulp van de `AllowUsers` of `AllowGroups`-instructies.
file Locatie van SSH-configuratiebestand
/etc/ssh/sshd_config
Het belangrijkste configuratiebestand van de SSH-server bevindt zich op het volgende pad.