SSH-Schlüssel erstellen und sicher einrichten
Ein SSH-Schlüsselpaar bietet eine extrem sichere und bequeme Möglichkeit, sich ohne Passwort-Eingabe an Servern (wie z. B. einem Debian-VPS oder DietPi) anzumelden. Es besteht aus einem öffentlichen Schlüssel (Public Key), den der Server bekommt, und einem privaten Schlüssel (Private Key), der streng geheim auf deinem Rechner bleibt.
1. Das Schlüsselpaar generieren
Öffne dein lokales Terminal und führe den folgenden Befehl aus. Wir nutzen das moderne, schnelle und sehr sichere ed25519-Verfahren:
ssh-keygen -t ed25519 -C "dein.name@server"
Was passiert danach?
- Speicherort: Du wirst gefragt, wo der Schlüssel gespeichert werden soll. Drücke einfach Enter, um den Standardpfad (meist
~/.ssh/id_ed25519) zu übernehmen.
- Passphrase (optional): Du wirst nach einem Passwort für deinen lokalen Schlüssel gefragt.
- Drücke zweimal Enter (leer lassen), wenn du dich in Zukunft vollautomatisch ohne jegliche Passwortabfrage einloggen möchtest.
- Vergib ein Passwort, wenn dein lokaler Rechner von anderen genutzt wird und du maximale Sicherheit willst.
2. Den öffentlichen Schlüssel auf den Server kopieren
Damit der Server dich erkennt, musst du ihm deinen neuen öffentlichen Schlüssel übergeben. Der einfachste Weg unter Linux/macOS ist dieser Befehl:
ssh-copy-id benutzername@server-ip
(Beispiel: ssh-copy-id root@192.168.178.50)
Du wirst bei diesem Schritt ein letztes Mal nach dem normalen Passwort des Servers gefragt, damit der Schlüssel sicher hinterlegt werden kann.
Hinweis für Windows-Nutzer: Falls ssh-copy-id nicht verfügbar ist, nutze stattdessen diesen Befehl in der PowerShell:
cat ~/.ssh/id_ed25519.pub | ssh benutzername@server-ip "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"
3. Den Login testen
Jetzt kannst du die Magie testen. Verbinde dich ganz normal mit deinem Server:
ssh benutzername@server-ip
Du solltest nun sofort eingeloggt sein, ohne dass der Server nach seinem Passwort fragt!
4. (Optional) Maximale Sicherheit: Passwort-Login deaktivieren
Wenn der Schlüssel-Login funktioniert, kannst du den herkömmlichen Passwort-Login auf dem Server komplett abschalten, um dich vor Brute-Force-Angriffen zu schützen.
- Öffne die SSH-Konfiguration auf dem Server:
sudo nano /etc/ssh/sshd_config
- Suche nach der Zeile
#PasswordAuthentication yes (oder ohne #) und ändere sie zu:
PasswordAuthentication no
- Speichere die Datei (
Strg + O, Enter, Strg + X) und starte den SSH-Dienst neu:
sudo systemctl restart ssh