SSH, Sicherheit und Berechtigungen

SSH ignoriert einen freigegebenen Schlüssel

Ein gültiger SSH-Schlüssel kann an fremdbeschreibbaren Dateien oder Verzeichnissen scheitern. Prüfe zuerst den Pfad auf dem Server.

Auf dieser Seite
  1. Symptome und Geltungsbereich
  2. Mögliche Ursachen
  3. Sicher prüfen
  4. Nächste Schritte nach Befund
  5. Quellen und Prüfung
  6. Verwandte Probleme

Symptome und Geltungsbereich

  • Derselbe öffentliche Schlüssel funktioniert für ein anderes Konto.
  • Das Serverprotokoll nennt Besitzer oder Rechte von authorized_keys.

Betroffene Umgebung

OpenSSH-Server; Pfade als betroffenes Konto auf dem Server prüfen. Für Konfigurationstests mit Hostschlüsseln sind Root-Rechte nötig.

Erkennbare Meldungen (synthetische Beispiele)
sshd[411]: Authentication refused: bad ownership or modes for directory /home/example

Die genannte Datei oder das Verzeichnis prüfen; die Zeile beweist keinen ungültigen Schlüssel.

Mögliche Ursachen

Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.

  • StrictModes kann einen durch andere Konten beschreibbaren authorized_keys-Pfad ablehnen.
  • AuthorizedKeysFile oder ein Match-Block kann eine andere Datei festlegen.

Sicher prüfen

Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.

Prüfschritt 1

Auf dem Server als Zielkonto ausführen; zeigt jeden Pfadbestandteil, ohne Schlüsselmaterial auszugeben.

namei -l "$HOME/.ssh/authorized_keys"

Ergebnis einordnen: Besitzer sowie Schreibrechte für Gruppe und andere an Home, .ssh und Schlüsseldatei prüfen; ein fehlender Bestandteil spricht für einen anderen konfigurierten Pfad.

Prüfschritt 2

Auf dem Server ACCOUNT, CLIENT_NAME und die Beispiel-IP durch Konto und Client ersetzen; eventuell sind Root-Rechte nötig. Der Testmodus öffnet keinen Listener.

/usr/sbin/sshd -T -C user=ACCOUNT,host=CLIENT_NAME,addr=192.0.2.10

Ergebnis einordnen: authorizedkeysfile, strictmodes und pubkeyauthentication lesen. Die Match-Auswertung trennt einen Pfadfehler von deaktivierter Schlüsselauthentifizierung.

Nächste Schritte nach Befund

Bestätigte Besitzer- und Schreibrechte korrigieren

Wenn der geprüfte Pfad stimmt, Besitzer, Modi und ACLs dokumentieren. .ssh auf Zugriff nur für den Besitzer und authorized_keys auf dessen Lesen/Schreiben setzen, üblicherweise 0700 und 0600; ungewollte fremde Schreibrechte am Elternverzeichnis entfernen. Nur diese Pfade ändern.

Vorsicht: Gewollte ACLs gemeinsamer Verzeichnisse berücksichtigen; weder das gesamte Home rekursiv ändern noch StrictModes abschalten.

Wiederherstellung / Rücknahme: Mit den notierten Metadaten nur ungewollte Änderungen zurücknehmen. Den Schlüsselpfad geschützt halten; einen neuen Schlüssel entfernen, wenn seine Freigabe widerrufen werden soll.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Öffentlichen Schlüssel am wirksamen Ort hinterlegen

Wenn sshd -T eine andere Datei auswählt, diese sichern und den gewünschten öffentlichen Schlüssel über eine bestehende berechtigte Sitzung ergänzen. Vorhandene Schlüssel und Optionen erhalten. Zentral verwaltete Schlüsselquellen über ihre Verwaltung ändern.

Vorsicht: Den privaten Schlüssel niemals auf den Server kopieren. Die bestehende Sitzung bis zur Prüfung einer zweiten Anmeldung offenlassen.

Wiederherstellung / Rücknahme: Nur die ergänzte Schlüsselzeile entfernen oder die gesicherte Datei wiederherstellen; Schlüssel anderer Konten erhalten.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Quellen und Prüfung

Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.