SSH absichern – So schützt du deinen Server unter Debian/Ubuntu
Der SSH-Dienst ist ein zentrales Werkzeug zur Fernwartung deines Servers – aber auch ein beliebtes Angriffsziel. In dieser Anleitung zeigen wir dir Schritt für Schritt, wie du SSH unter Debian und Ubuntu sicher konfigurierst.
🔐 Benutzer für SSH mit Sudo-Rechten erstellen
Neuen Benutzer mit sudo-Rechten anlegen:
sudo adduser [ServerUsername]
sudo usermod -aG sudo [ServerUsername]
🔑 Login per SSH-Key konfigurieren
SSH-Schlüssel (Key-Based Auth) sind viel sicherer als Passwörter.
📁 .ssh-Verzeichnis auf dem Server erstellen und vorbereiten
Verzeichnis erstellen:
sudo mkdir /home/[ServerUsername]/.ssh
Berechtigungen anpassen:
sudo chown [ServerUsername]:[ServerUsername] /home/[ServerUsername]/.ssh
sudo chmod 700 /home/[ServerUsername]/.ssh
🛠 Schlüssel erzeugen (auf deinem lokalen Rechner in Windows CMD):
ssh-keygen -t ed25519
Durch den Befehl werden zwei Schlüsseldateien erzeugt:
Your identification has been saved in C:\Users\[Username]/.ssh/id_ed25519
Your public key has been saved in C:\Users\[Username]/.ssh/id_ed25519.pub
Lade den öffentlichen Schlüssel per scp unter dem Namen authorized_keys in das .ssh-Verzeichnis des neuen Nutzers auf dem Server:
scp C:\Users\[Username]\.ssh\id_ed25519.pub [ServerUsername]@[ServerIP]:.ssh/authorized_keys
Anschließend ist es notwendig, auf dem Server die richtigen Dateiberechtigungen zu setzen:
sudo chmod 600 /home/[ServerUsername]/.ssh/authorized_keys
🔐 Public-Key-Authentifizierung aktivieren
Damit sich Nutzer per SSH-Schlüssel (Public Key) anmelden können, muss diese Methode auf dem Server aktiviert sein.
SSH-Konfigurationsdatei bearbeiten:
sudo nano /etc/ssh/sshd_config
Folgende Einträge prüfen oder ergänzen:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
🔄 Änderungen anwenden:
sudo systemctl restart ssh
✅ Public-Key-Authentifizierung testen
Nachdem du den öffentlichen SSH-Schlüssel erfolgreich auf den Server übertragen und die Konfiguration angepasst hast, solltest du jetzt testen, ob der Login ohne Passwort funktioniert.
ssh [ServerUsername]@[ServerIP]
Wenn alles korrekt eingerichtet ist:
- Du wirst nicht nach dem Passwort des Servers gefragt.
- Stattdessen erfolgt die Anmeldung automatisch über den SSH-Schlüssel.
🔒 Sicherheitsfeatures für SSH
Nachdem die grundlegende Public-Key-Authentifizierung eingerichtet ist, kannst du deinen Server weiter absichern. Die folgenden Maßnahmen sind optional, erhöhen aber die Sicherheit deines SSH-Zugangs deutlich.
🚫 Root-Login deaktivieren
Der direkte SSH-Zugriff als root ist ein beliebtes Angriffsziel. Diesen solltest du daher deaktivieren.
sudo nano /etc/ssh/sshd_config
Folgende Zeile anpassen oder hinzufügen:
PermitRootLogin no
🔐 Passwort-Authentifizierung deaktivieren
Wenn der SSH-Schlüssel-Login funktioniert, kannst du den Login per Passwort komplett deaktivieren. Dadurch blockierst du automatisierte Brute-Force-Angriffe.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
📌 Achtung: Nur durchführen, wenn du dich erfolgreich mit SSH-Schlüssel anmelden kannst!
📦 SSH-Port ändern
Standardmäßig läuft SSH auf Port 22. Angreifer scannen oft diesen Port gezielt. Ein anderer Port macht dein System weniger sichtbar.
🛠 Beispiel – Ändere Port auf 2222:
sudo nano /etc/ssh/sshd_config
🔧 Zeile anpassen:
Port 2222
🧱 Vergiss nicht, die neue Portnummer in deiner Firewall freizugeben.
🔄 Änderungen anwenden:
sudo systemctl restart ssh
Anmeldung unter neuem Port:
ssh -p 2222 [ServerUsername]@[ServerIP]
Du suchst einen sicheren, leistungsstarken Server für dein Projekt?
Unsere VPS Server bei Zigo Hosting sind DSGVO-konform, mit SSD-Speicher, 1 Gbit/s Anbindung, Root-Zugriff und ohne Trafficlimit – ideal für Anwendungen, Hosting, Entwicklung oder eigene IT-Infrastruktur.
➜ Jetzt passenden Server finden: VPS Server