15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen
28.01.2026

Wo werden SSH-Schlüssel in Linux gespeichert – und wie verwaltet man sie sicher?

SSH (Secure Shell) ist ein grundlegendes Werkzeug im Linux-Ökosystem, das für den Remote-Zugriff, sichere Dateiübertragungen, Automatisierung und Serververwaltung verwendet wird. Während die meisten Benutzer über den Befehl ssh mit SSH interagieren, basiert SSH im Hintergrund SSH auf öffentlichen und privaten Schlüsselpaaren zur Authentifizierung – insbesondere in Umgebungen, in denen passwortlose Anmeldungen, Automatisierung und DevOps-Praktiken unerlässlich sind.

Standard-Speicherort für SSH-Schlüssel

Der häufigste Ort, an dem SSH-Schlüssel gespeichert werden, ist:

~/.ssh/

Dies bezieht sich auf das .ssh-Verzeichnis im Home-Ordner des Benutzers, z.B.:

/home/username/.ssh/

Häufige Dateien in diesem Verzeichnis:

DateiZweck
id_rsaStandard-privater Schlüssel (RSA)
id_rsa.pubPassender öffentlicher Schlüssel
id_ecdsa, id_ed25519Andere private Schlüssel (ECDSA, Ed25519)
id_*.pubEntsprechende öffentliche Schlüssel
authorized_keysSpeichert öffentliche Schlüssel die zum Verbinden erlaubt sind
known_hostsSpeichert Server-Fingerabdrücke (Host-Schlüsselverifizierung)
configBenutzerspezifische SSH-Client-Konfiguration

Wenn Sie Schlüssel mit ssh-keygen generieren, werden sie standardmäßig hier gespeichert, es sei denn, ein Pfad wird angegeben.

Systemweite SSH-Schlüsselstandorte

SSH-Server (sshd) Host-Schlüssel

Systemweite Schlüssel, die vom SSH-Daemon (Server-Seite) verwendet werden:

/etc/ssh/

Typische Dateien:

DateiZweck
ssh_host_rsa_keyHost-privater Schlüssel (RSA)
ssh_host_rsa_key.pubHost-öffentlicher Schlüssel
ssh_host_ecdsa_keyECDSA-Host-privater Schlüssel
ssh_host_ed25519_keyEd25519-Host-privater Schlüssel

Diese Schlüssel werden verwendet, um den Server gegenüber Clients zu identifizieren, nicht um Benutzer zu authentifizieren.

Der SSH-Daemon (sshd) präsentiert den Host-öffentlichen Schlüssel während der Verbindung; Clients vergleichen ihn mit ~/.ssh/known_hosts.

Benutzerdefinierte Schlüsselstandorte

Sie können SSH-Schlüssel von jedem Standort generieren oder verwenden, aber Sie müssen den Pfad angeben:

ssh -i /path/to/custom_key user@host

Sie können auch mehrere Schlüssel über ~/.ssh/config konfigurieren:

Host myserver
HostName 192.168.1.100
User devops
IdentityFile ~/.ssh/devops_key

Wo werden Schlüssel verwendet?

Ausgehend (Client-Seite)

SSH-Clients suchen standardmäßig nach privaten Schlüsseln in ~/.ssh/. Sie werden verwendet, um die Authentifizierung beim Verbinden mit einem Remote-Server zu initiieren.

  • ssh, scp, rsync über SSH, git (bei Verwendung von SSH-Remote)

📌 Eingehend (Server-Seite)

Der Server sucht nach öffentlichen Schlüsseln in:

~/.ssh/authorized_keys

Diese Datei listet auf, welche öffentlichen Schlüssel zum Anmelden erlaubt sind für dieses spezifische Benutzerkonto.

Wenn user_a versucht, sich als user_b über SSH mit einem Server zu verbinden, muss ihr öffentlicher Schlüssel in ~user_b/.ssh/authorized_keys vorhanden sein.

Berechtigungen – Kritisch für die Sicherheit

Korrekte Berechtigungen:

~/.ssh → 700 (drwx------)
~/.ssh/authorized_keys → 600 (-rw-------)
~/.ssh/id_rsa → 600 (-rw-------)
~/.ssh/id_rsa.pub → 644 (-rw-r--r--)

Falsche Berechtigungen können dazu führen, dass SSH Ihre Schlüssel ignoriert oder Anmeldungen vollständig ablehnt.

SSH-Schlüssel sicher verwalten

  • Verwenden Sie eine Passphrase beim Generieren privater Schlüssel:

    ssh-keygen -t ed25519 -C "your_email@example.com"
  • Verwenden Sie ssh-agent, um entsperrte Schlüssel im Speicher zu cachen:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
  • Rotieren Sie Schlüssel regelmäßig
  • Entfernen Sie ungenutzte oder verwaiste Schlüssel aus “authorized_keys”
  • Verwenden Sie separate Schlüssel pro Host/Projekt
  • Vermeiden Sie die Verwendung von Root-Schlüsseln in verschiedenen Umgebungen

Überprüfung und Debugging

Um zu sehen, welcher Schlüssel während der SSH-Verbindung verwendet wird:

ssh -v user@host

Dies druckt ausführliche Protokolle aus, einschließlich welcher Identitätsdatei versucht wurde.

Um die geladenen Schlüssel in Ihrem aktuellen Agenten aufzulisten:

ssh-add -l

Um einen Schlüssel zu entfernen:

ssh-add -d ~/.ssh/mykey

Fazit

Zu verstehen, wo SSH-Schlüssel in Linux gespeichert sind – und wie man sie sicher verwaltet – ist entscheidend für Systemadministratoren, Entwickler, DevOps-Ingenieure und alle, die in Multi-Host- oder Multi-User-Umgebungen arbeiten.

Indem Sie den Unterschied zwischen Benutzer-Schlüsseln, Host-Schlüsseln und autorisierten Schlüsseln kennen, können Sie:

  • Authentifizierungsprobleme beheben
  • Sichere automatisierte Workflows einrichten
  • Zugriff über Teams und Systeme verwalten

In Produktionssystemen oder Cloud-Plattformen (z.B. VPS oder dedizierte Server) kann eine falsche Verwaltung von SSH-Schlüsseln zu schwerwiegenden Sicherheitsanfälligkeiten führen. Stellen Sie sicher, dass Sie bewährte Praktiken befolgen und den Zugriff regelmäßig überprüfen.

15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen