SSH Key Management: Keys sicher verteilen und rotieren

SSH-Key-Management ist eine zentrale Komponente der sicheren Administration von Linux-Servern und Netzwerkgeräten. Unsachgemäße Handhabung von SSH-Schlüsseln kann zu unautorisierten Zugriffen, Datenverlust oder schwer nachvollziehbaren Sicherheitsvorfällen führen. In diesem Leitfaden erfahren Sie, wie SSH-Keys sicher erstellt, verteilt, verwendet und regelmäßig rotiert werden, um höchste Sicherheit und Compliance zu gewährleisten.

SSH-Keys verstehen: Public vs. Private Key

Ein SSH-Schlüsselpaar besteht aus zwei Teilen:

  • Private Key: Bleibt auf dem Client und muss streng vertraulich behandelt werden.
  • Public Key: Wird auf dem Server hinterlegt, um den zugehörigen Private Key zu authentifizieren.

Der Vorteil von Schlüsseln gegenüber Passwörtern liegt in der kryptografischen Stärke, die Brute-Force-Angriffe praktisch unmöglich macht, sofern der Private Key geschützt ist.

Schlüssel erzeugen

SSH-Schlüssel lassen sich mit dem ssh-keygen-Befehl erzeugen:

ssh-keygen -t ed25519 -C "user@example.com"
# Alternativ RSA mit mindestens 4096 Bit
ssh-keygen -t rsa -b 4096 -C "user@example.com"

Während der Erstellung können Sie ein Passwort für den Private Key vergeben, um zusätzliche Sicherheit zu gewährleisten.

Public Key sicher auf Server verteilen

Es gibt mehrere Methoden, den Public Key auf einem Server zu hinterlegen:

  • Manuelles Kopieren in ~/.ssh/authorized_keys
  • Automatisiert per ssh-copy-id
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip

Nach dem Kopieren testen Sie die Verbindung:

ssh user@server_ip
# Login sollte ohne Passwortaufforderung möglich sein

Rechte und Schutz der SSH-Dateien

Die richtigen Berechtigungen verhindern, dass Unbefugte Zugriff auf Keys erhalten:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
chmod 600 ~/.ssh/authorized_keys

Stellen Sie sicher, dass der Private Key nie per E-Mail oder unverschlüsselten Kanälen verteilt wird.

Key-Rotation: Regelmäßiges Austauschen

Für maximale Sicherheit sollten SSH-Keys regelmäßig rotiert werden, z. B. alle 90 Tage:

  • Neues Schlüsselpaar erzeugen
  • Neuen Public Key auf allen relevanten Servern hinterlegen
  • Alten Public Key aus authorized_keys entfernen
  • Verbindung testen, bevor der alte Schlüssel gelöscht wird

Automatisiertes Key Management

In großen Umgebungen empfiehlt sich der Einsatz von Tools zur Verwaltung von SSH-Keys:

  • HashiCorp Vault – zentralisiertes Key Management mit API-Unterstützung
  • Red Hat Satellite / Ansible – automatische Verteilung und Rotation von Keys
  • LDAP-Integration – zentralisierte Benutzerverwaltung und Schlüsselverteilung

Diese Systeme ermöglichen die Nachverfolgung, automatisierte Audits und verhindern Shadow-IT-Keys auf Servern.

Audit und Logging

Überwachen Sie SSH-Zugriffe, um unautorisierte Keys oder verdächtige Login-Versuche zu erkennen:

tail -f /var/log/auth.log
# oder
journalctl -u sshd

Regelmäßige Audits helfen, alte, nicht mehr benötigte oder kompromittierte Keys zu identifizieren und zu entfernen.

Best Practices für sicheres SSH-Key Management

  • Keine Shared Keys – jeder Benutzer erhält ein individuelles Schlüsselpaar
  • Private Keys immer verschlüsseln
  • Passwortlose Private Keys nur auf sicheren Geräten verwenden
  • Regelmäßige Rotation und Revoke von Keys bei Personalwechsel
  • Automatisierte Tools für zentrale Verwaltung und Auditing nutzen
  • Fail2ban oder ähnliche Mechanismen zum Schutz vor Brute-Force-Angriffen
  • Dokumentation aller Schlüssel und Server für Compliance-Zwecke

Zusammenfassung

SSH-Key-Management ist essenziell für die Sicherheit von Linux-Servern. Durch die strikte Trennung von Public und Private Key, sichere Verteilung, richtige Rechte, regelmäßige Rotation und zentrale Verwaltung lassen sich Risiken minimieren und Compliance-Anforderungen erfüllen. Administratoren sollten diese Prozesse standardisieren und automatisieren, um eine sichere und nachvollziehbare Serververwaltung zu gewährleisten.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles