VPS Ersteinrichtung - Sicherer SSH-Zugang & Basisabsicherung
Richte deinen VPS sicher ein. SSH-Hardening, Firewall, Fail2ban und automatisierte Updates.
🎯 Was du in dieser Anleitung lernst
Hardware-Checkliste für dieses Tutorial
Empfohlene & getestete Hardware-Komponenten für die Umsetzung
YubiKey 5 NFC (FIDO2 Hardware-Schlüssel für SSH)
YubiKey 5C NFC (USB-C & NFC für Smartphone & Laptop)
USB-Datenblocker (Schutz vor Manipulation beim Laden)
Empfohlener Server & VPS-Anbieter
Für dieses Tutorial benötigst du einen zuverlässigen Linux-Server. Unsere Empfehlung:
* Partner-Link (Provision unterstützt dieses Projekt).
- ▸Anleitung
- ↳1. Was ist ein VPS?
- ↳2. Warum einen VPS?
- ↳3. VPS bei netcup bestellen
- ↳4. SSH-Verbindung herstellen
- ↳5. Unter Linux/macOS
- ↳6. Unter Windows
- ↳7. System aktualisieren
- ↳8. Benutzer erstellen (non-root)
- ↳9. SSH-Schlüssel einrichten
- ↳10. Schlüsselpaar erstellen (auf deinem lokalen PC)
- ↳11. Schlüssel auf den Server kopieren
- ↳12. Verbindung testen
- ↳13. SSH-Passwort deaktivieren
- ↳14. Firewall einrichten (ufw)
- ↳15. Fail2ban installieren
- ↳16. Automatische Updates einrichten
- ↳17. Zusammenfassung
Anleitung
1. Was ist ein VPS?
Ein VPS (Virtual Private Server) ist ein virtueller Server, der von einem Anbieter in dessen Rechenzentrum gehostet wird. Du bekommst vollen Root-Zugriff und kannst darauf beliebige Dienste installieren.
2. Warum einen VPS?
- Immer erreichbar: Deine Dienste sind 24/7 online
- Kostengünstig: Schon ab 1€/Monat verfügbar
- Volle Kontrolle: Du bestimmst die Konfiguration
- Isoliert: Andere Server beeinflussen dich nicht
3. VPS bei netcup bestellen
Nach der Bestellung erhältst du per E-Mail:
- Die IP-Adresse deines Servers
- Root-Passwort
- SSH-Zugangsdaten
4. SSH-Verbindung herstellen
5. Unter Linux/macOS
Öffne das Terminal und verbinde dich:
ssh root@DEINE_SERVER_IP
Ersetze DEINE_SERVER_IP mit der IP-Adresse deines Servers.
6. Unter Windows
Lade dir PuTTY herunter von putty.org oder nutze Windows Terminal.
Bei der ersten Verbindung erscheint eine Warnung - bestätige mit “Ja”, um den Server-Fingerabdruck zu speichern.
7. System aktualisieren
Nach dem ersten Login solltest du das System auf den neuesten Stand bringen:
apt update && apt upgrade -y
Das kann je nach Menge der Updates einige Minuten dauern.
8. Benutzer erstellen (non-root)
Arbeite niemals als root-Benutzer! Erstelle einen normalen Benutzer:
# Benutzer erstellen (ersetze 'benutzer' durch deinen Wunschnamen)
adduser benutzer
# Benutzer zur sudo-Gruppe hinzufügen
usermod -aG sudo benutzer
Melde dich danach mit dem neuen Benutzer an:
ssh benutzer@DEINE_SERVER_IP
9. SSH-Schlüssel einrichten
SSH-Schlüssel sind sicherer als Passwörter. So richtest du sie ein:
10. Schlüsselpaar erstellen (auf deinem lokalen PC)
# Schlüsselpaar erstellen
ssh-keygen -t ed25519 -C "deine@email.de"
Drücke Enter für den Standard-Speicherort. Du kannst eine Passphrase vergeben.
11. Schlüssel auf den Server kopieren
ssh-copy-id benutzer@DEINE_SERVER_IP
Gib das Passwort des Benutzers ein - der Schlüssel wird nun hinterlegt.
12. Verbindung testen
ssh benutzer@DEINE_SERVER_IP
Du solltest dich jetzt ohne Passwort-Eingabe anmelden können!
13. SSH-Passwort deaktivieren
Nachdem der SSH-Schlüssel funktioniert, deaktivierst du die Passwort-Authentifizierung:
sudo nano /etc/ssh/sshd_config
Ändere folgende Zeilen:
# Ändern auf:
PasswordAuthentication no
PermitRootLogin no
Speichere mit Strg+O, dann Enter, dann Strg+X.
SSH-Dienst neu starten:
sudo systemctl restart sshd
14. Firewall einrichten (ufw)
ufw (Uncomplicated Firewall) ist einfach zu bedienen:
# ufw installieren (falls nicht vorhanden)
sudo apt install ufw
# SSH erlauben (wichtig!)
sudo ufw allow ssh
# HTTP und HTTPS erlauben
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Firewall aktivieren
sudo ufw enable
Wichtig: Gib sudo ufw allow ssh ein, bevor du sudo ufw enable ausführst! Sonst sperrst du dich selbst aus.
Firewall-Status prüfen:
sudo ufw status
15. Fail2ban installieren
Fail2ban schützt deinen Server vor Brute-Force-Angriffen:
sudo apt install fail2ban
Fail2ban startet automatisch. Du kannst die Standard-Konfiguration nutzen oder anpassen:
# Konfiguration kopieren
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Bearbeiten
sudo nano /etc/fail2ban/jail.local
Status prüfen:
sudo fail2ban-client status
16. Automatische Updates einrichten
Damit dein Server immer sicher bleibt:
# unattended-upgrades installieren
sudo apt install unattended-upgrades
# Konfiguration
sudo dpkg-reconfigure -plow unattended-upgrades
Wähle “Ja” um automatische Updates zu aktivieren.
17. Zusammenfassung
Was du heute gelernt hast:
- ✅ VPS bei netcup bestellen
- ✅ SSH-Verbindung herstellen
- ✅ System aktualisieren
- ✅ Benutzer erstellen
- ✅ SSH-Schlüssel einrichten
- ✅ SSH-Hardening durchgeführt
- ✅ Firewall (ufw) konfiguriert
- ✅ Fail2ban installiert
- ✅ Automatische Updates aktiviert
Geschafft! 🎉
Dein Server ist jetzt sicher konfiguriert. Hast du Fragen?
Schreib uns auf Instagram
Geschrieben von Christian Schaar
Autor & Gründer NetzBastionSpezialisiert auf Open-Source IT-Sicherheit, UniFi-Netzwerkarchitektur und sichere Self-Hosting-Infrastrukturen. Alle Anleitungen basieren auf echten Installationen und werden praxisnah verifiziert.
❓ Häufig gestellte Fragen (FAQ)
Q: Warum sollte ich den SSH-Login mit Passwort komplett verbieten?
Automatisierte Brute-Force-Bots scannen das Internet rund um die Uhr nach offenen SSH-Ports und probieren Millionen Passwörter durch. Ein ED25519-SSH-Schlüssel oder Hardware-Token (YubiKey) macht Wörterbuch- und Brute-Force-Angriffe technisch unmöglich.
Q: Was passiert, wenn ich mich durch die UFW Firewall aussperre?
Bei guten VPS-Anbietern (wie netcup) hast du über das Kunden-Control-Panel (VCP) jederzeit Zugriff auf eine virtuelle VNC-Notfall-Konsole. Damit kannst du dich direkt wie an einem physischen Bildschirm anmelden und Firewall-Regeln reparieren.
Q: Sollte ich den Standard-SSH-Port 22 ändern?
Das Ändern auf einen alternativen Port (z.B. 2222 oder 49152) reduziert das Rauschen in den Logdateien um über 95%, da einfache automatisierte Scanner meist nur Port 22 prüfen. Es ersetzt jedoch keine saubere Schlüssel-Authentifizierung.