So sichern Sie SSH auf einem Linux-VPS ab

Von ONIE-Engineering-Team · Aktualisiert am 12. November 2026 · 3 Min. Lesezeit

Ein öffentlich erreichbarer VPS erhält automatisierte Login-Versuche oft schon wenige Minuten nach dem Start. Mit den folgenden Schritten wird SSH deutlich schwerer angreifbar. Die Anleitung ist für Ubuntu oder Debian geschrieben. Wenn Sie noch keinen Server haben, können Sie einen Linux-VPS mieten und mit einem sauberen Image beginnen. Lassen Sie Ihre aktuelle SSH-Sitzung offen, bis Sie die neuen Einstellungen aus einem zweiten Fenster getestet haben.

1. Normalen Benutzer mit Sudo anlegen

adduser deploy
usermod -aG sudo deploy

2. SSH-Schlüssel statt Passwörter verwenden

Auf Ihrem eigenen Rechner:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

Melden Sie sich einmal mit dem Schlüssel an, um zu prüfen, ob er funktioniert, bevor Sie die Passwort-Anmeldung deaktivieren.

3. Passwort- und Root-Login deaktivieren

Erstellen Sie /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Prüfen Sie die Syntax und laden Sie den Dienst neu. Der Dienst heißt ssh auf Ubuntu und Debian und sshd auf RHEL-basierten Systemen:

sudo sshd -t && sudo systemctl reload ssh

Öffnen Sie ein zweites Terminal und melden Sie sich erneut an. Erst danach schließen Sie die alte Sitzung.

4. Firewall aktivieren

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Öffnen Sie nur die Ports, die Sie benötigen, etwa 80 und 443 für einen Webserver. Außerdem können Sie SSH mit einer Firewall-Regel im Cloud-Panel auf Ihre eigene IP-Adresse beschränken.

5. Wiederholte Fehlversuche mit Fail2ban blockieren

sudo apt install -y fail2ban

Erstellen Sie /etc/fail2ban/jail.local:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Sicherheitsupdates automatisch installieren

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. Optionale Zusatzmaßnahmen

  • Eine Änderung des SSH-Ports reduziert das Log-Rauschen, ist aber allein keine Sicherheitsmaßnahme.
  • Schützen Sie den privaten Schlüssel mit einer Passphrase und bewahren Sie eine Sicherungskopie an einem sicheren Ort auf.
  • Prüfen Sie Anmeldungen mit last und sudo journalctl -u ssh --since today.
  • Erstellen Sie einen Snapshot, sobald der Server konfiguriert ist, damit Sie einen sauberen Ausgangszustand wiederherstellen können.

Wenn Sie sich ausgesperrt haben, nutzen Sie die Browser-Konsole in Ihrem Cloud-Panel, um sich anzumelden und die Konfiguration zu korrigieren. Unser Leitfaden zum DDoS-Schutz behandelt die nächste Schutzebene.

Häufig gestellte Fragen

Ist es sicher, den Root-Login zu deaktivieren?

Ja, wenn Sie zuerst einen Sudo-Benutzer anlegen und testen, ob dessen Schlüssel funktioniert. Administrative Befehle können Sie weiterhin mit sudo ausführen.

Brauche ich Fail2ban, wenn ich nur Schlüssel verwende?

Es ist optional. Wenn die Passwort-Anmeldung deaktiviert ist, kann ein Brute-Force-Angriff nicht erfolgreich sein, Fail2ban reduziert jedoch das Log-Rauschen und die Last.

Was tun, wenn ich meinen SSH-Schlüssel verliere?

Melden Sie sich über die Konsole in Ihrem Cloud-Panel an, fügen Sie einen neuen öffentlichen Schlüssel in ~/.ssh/authorized_keys hinzu und entfernen Sie den alten.

Quellen und weiterführende Literatur

Weitere VPS-Anleitungen