🔐 Linux absichern – So schützt Du Deinen SSH-Zugang effektiv
🧠 Warum SSH absichern?
SSH ist das digitale Eingangstor zu Deinem Server. Jeder Angreifer, der sich hier erfolgreich Zugang verschafft, kann Dein gesamtes System kompromittieren. Diese Anleitung zeigt Dir, wie Du Deinen SSH-Zugang auf ein Maximum an Sicherheit bringst – durch Portanpassung, Schlüssel-Authentifizierung, Deaktivierung unnötiger Funktionen und mehr.
🛠️ Schritt-für-Schritt: SSH sicher konfigurieren
1. SSH-Port ändern
sudo nano /etc/ssh/sshd_config
Ändere:
Port 2222
🔒 So entgehst Du den Massen-Scans auf Port 22.
2. SSH-Key-Authentifizierung aktivieren
Auf Deinem lokalen Rechner:
ssh-keygen -t ed25519 -C "dein-name@rechner"
Dann:
ssh-copy-id -p 2222 benutzer@server
🔐 SSH-Schlüssel sind praktisch unmöglich zu erraten.
3. Passwort-Login & PAM-Funktionen deaktivieren
Bearbeite /etc/ssh/sshd_config
:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
🔍 Was bedeuten diese Optionen?
Option | Erklärung | Warum deaktivieren |
---|---|---|
PasswordAuthentication no | Verhindert das Einloggen mit Passwort | Nur noch SSH-Key erlaubt – schützt vor Brute-Force |
ChallengeResponseAuthentication no | Deaktiviert interaktive Login-Methoden wie OTP oder S/Key | Falls Du kein 2FA via PAM nutzt, überflüssig |
UsePAM no | Schaltet das PAM-Framework ab | Weniger Komplexität, weniger Angriffsfläche – nur, wenn Du keine PAM-Module brauchst (z. B. 2FA) |
⚠️ Wenn Du PAM-basierte Features wie Zwei-Faktor-Login nutzt, musst Du
UsePAM yes
lassen.
4. Root-Login blockieren
PermitRootLogin no
AllowUsers deinbenutzer
👤 Nur autorisierte Benutzer mit SSH-Key dürfen rein – Root bleibt außen vor.
5. Firewall + Fail2Ban aktivieren
sudo ufw allow 2222/tcp
sudo ufw enable
sudo apt install fail2ban
sudo systemctl enable fail2ban
🛡️ Schutz vor Loginversuchen mit falschem Benutzernamen oder falschem Key.
6. Verbindungen testen
Vor dem Logout:
ssh -p 2222 benutzer@deinserver
✅ Teste alles, bevor Du die letzte Shell schließt – sonst kannst Du Dich aussperren.
✅ Ergebnis
Deine SSH-Verbindung ist jetzt:
- 🔒 nur per Key erreichbar
- ❌ nicht mehr per Passwort angreifbar
- 🚫 für Root-Anmeldung gesperrt
- 🧱 per Firewall & Fail2Ban geschützt
- ⚙️ frei von unnötigen Modulen
🧩 Erweiterung möglich
Wenn Du möchtest, kannst Du zusätzlich:
- Portknocking einsetzen
- Nur bestimmte IP-Adressen erlauben (via
Match Address
) - Zwei-Faktor-Login über PAM oder TOTP konfigurieren