Diese Anleitung zeigt Dir, wie Du Deinen Rootserver / vServer vor Angreifern schützt, indem Du SSH-Keys einrichtest, den Root-Login deaktivierst und den SSH-Port änderst.
1. SSH-Key erstellen
Erstelle zuerst ein SSH-Schlüsselpaar auf Deinem lokalen PC.
Windows (PowerShell)
ssh-keygen -t ed25519
Linux / macOS (Terminal)
ssh-keygen -t ed25519
Bestätige den Standardpfad mit Enter und lege optional eine Passphrase für zusätzlichen Schutz fest.
Zwei Dateien werden erstellt:
~/.ssh/id_ed25519– Dein privater Schlüssel (diesen niemals teilen!)~/.ssh/id_ed25519.pub– Dein öffentlicher Schlüssel (dieser kommt auf den Server)
2. Public Key auf den Server hochladen
Upload unter Linux / macOS
ssh-copy-id root@DEINE_SERVER_IP
Upload unter Windows (PowerShell)
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@DEINE_SERVER_IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
3. Neuen Benutzer anlegen (optional)
Optional kannst Du einen eigenen Benutzer erstellen, anstatt Dich als Root einzuloggen.
adduser meinbenutzer
Vergib dem Benutzer sudo-Rechte:
usermod -aG sudo meinbenutzer
Kopiere den SSH-Key zum neuen Benutzer:
mkdir -p /home/meinbenutzer/.ssh
cp ~/.ssh/authorized_keys /home/meinbenutzer/.ssh/authorized_keys
chown -R meinbenutzer:meinbenutzer /home/meinbenutzer/.ssh
chmod 700 /home/meinbenutzer/.ssh
chmod 600 /home/meinbenutzer/.ssh/authorized_keys
4. Root-Login und Passwort-Authentifizierung deaktivieren
Öffne die SSH-Konfiguration:
sudo nano /etc/ssh/sshd_config
Suche und ändere die folgenden Zeilen:
PasswordAuthentication no
Falls Du in Schritt 3 einen eigenen Benutzer angelegt hast, kannst Du zusätzlich den Root-Login deaktivieren:
PermitRootLogin no
Speichere mit Strg + O, schließe mit Strg + X und starte den SSH-Dienst neu:
sudo systemctl restart sshd
5. SSH-Port ändern
Standardmäßig läuft SSH auf Port 22. Durch das Ändern des Ports werden automatisierte Brute-Force-Angriffe reduziert.
Öffne die SSH-Konfiguration:
sudo nano /etc/ssh/sshd_config
Suche die Zeile #Port 22 und ändere sie zu:
Port 2222
Falls Du UFW verwendest, erlaube den neuen Port vor dem Neustart:
sudo ufw allow 2222/tcp
Starte den SSH-Dienst neu:
sudo systemctl restart sshd
Ab jetzt verbindest Du Dich mit:
ssh -p 2222 root@DEINE_SERVER_IP
Zusammenfassung
| Maßnahme | Wirkung |
|---|---|
| SSH-Key | Sichere Authentifizierung ohne Passwörter |
| Neuer Benutzer | Kein direkter Root-Zugriff |
| Root-Login deaktivieren | Blockiert Root-Anmeldeversuche |
| Passwort-Auth deaktivieren | Verhindert Brute-Force-Angriffe |
| SSH-Port ändern | Reduziert automatisierte Angriffe |