SSH-Key-Authentifizierung: Einrichtung auf Client und Server

Die sichere Verwaltung von Serverzugängen ist ein zentraler Bestandteil jeder Infrastruktur. Klassische Passwort-Authentifizierung stößt dabei schnell an ihre Grenzen: sie ist anfällig für Brute-Force-Angriffe, schwer zu automatisieren und oft ein Schwachpunkt in komplexen Systemlandschaften. SSH-Keys bieten eine robuste Alternative. Sie ermöglichen eine verschlüsselte, passwortfreie Anmeldung und sind damit ideal für automatisierte Prozesse, Admin-Panels und den täglichen Betrieb.


🔑 Tutorial: SSH-Keys auf Server und Client

1. Grundlagen

  • SSH-Keys sind ein Paar aus privatem Schlüssel (nur auf dem Client) und öffentlichem Schlüssel (kommt auf den Server).
  • Vorteil: sichere Authentifizierung ohne Passworteingabe, automatisierbar und deutlich robuster.

2. SSH-Key auf dem Client erstellen

# Auf dem Client (Linux/Mac/WSL)
ssh-keygen -t ed25519 -C "deinname@domain"
  • -t ed25519: moderner Algorithmus, schneller und sicherer als RSA.
  • -C: Kommentar, z. B. deine Mailadresse.
  • Ausgabe:
    • Privater Schlüssel: ~/.ssh/id_ed25519
    • Öffentlicher Schlüssel: ~/.ssh/id_ed25519.pub

👉 Wichtig: Den privaten Schlüssel niemals weitergeben!


3. Öffentlichen Schlüssel auf den Server übertragen

Variante A: Automatisch mit ssh-copy-id

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

Variante B: Manuell

# Öffentlichen Schlüssel anzeigen
cat ~/.ssh/id_ed25519.pub

# Auf dem Server in Datei ~/.ssh/authorized_keys einfügen
nano ~/.ssh/authorized_keys

Datei-Berechtigungen prüfen:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4. Verbindung testen

ssh user@server

Wenn alles korrekt eingerichtet ist, erfolgt die Anmeldung ohne Passwort.


5. Optional: SSH-Agent nutzen

Damit du nicht jedes Mal den Schlüssel entsperren musst:

# Schlüssel zum Agent hinzufügen
ssh-add ~/.ssh/id_ed25519

6. Sicherheitstipps

  • Nutze ed25519 statt RSA.
  • Setze PasswordAuthentication no in /etc/ssh/sshd_config, sobald Keys funktionieren.
  • Für mehrere Server: Schlüssel pro Projekt/Server anlegen und klar benennen (id_ed25519_server1, id_ed25519_server2).
  • Admin-Panel-ready: Logs und Statusmeldungen beim Key-Setup einbauen.

7. Beispiel für Admin-Dashboard-Integration

  • Statusanzeige:SSH-Key vorhanden / fehlt“
  • Aktion: Button „Key hochladen“ → schreibt in authorized_keys
  • Feedback: Erfolgsmeldung + Log-Eintrag

© 2025 MaDe-Online