SSH: „Permission denied (publickey)“ beheben

Du verbindest dich per SSH mit deinem Server und wirst mit „Permission denied (publickey)“ abgewiesen? Der Server akzeptiert deinen Schlüssel nicht. Die Ursache ist meist ein falscher Benutzer, ein fehlender Schlüssel oder falsche Dateirechte. In dieser Anleitung zeigen wir dir, wie du den Fehler behebst.

Lösung 1: Richtigen Benutzer und Schlüssel verwenden

Prüfe zuerst, ob du den richtigen Benutzernamen nutzt und den passenden Schlüssel angibst:

ssh -i ~/.ssh/mein_schluessel benutzer@server

Ein häufiger Fehler ist der falsche Benutzername (z. B. root statt deines Kontos). Wie du Schlüssel korrekt hinterlegst, zeigt SSH-Key hinterlegen.


Lösung 2: Dateirechte prüfen

SSH verweigert den Zugriff, wenn die Rechte zu offen sind. Auf dem Server müssen sie exakt stimmen:

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

Auch das Home-Verzeichnis darf nicht für andere beschreibbar sein. Falsche Rechte sind die häufigste Ursache für diesen Fehler.


Lösung 3: Öffentlichen Schlüssel in authorized_keys prüfen

Kontrolliere, ob dein öffentlicher Schlüssel wirklich in der Datei ~/.ssh/authorized_keys des Zielbenutzers steht. Ein Copy-and-paste-Fehler oder ein Zeilenumbruch macht den Schlüssel unbrauchbar.


Lösung 4: Mit ssh -v den Fehler eingrenzen

Der ausführliche Modus zeigt genau, welchen Schlüssel SSH anbietet und warum er abgelehnt wird:

ssh -v benutzer@server

Achte in der Ausgabe auf Zeilen wie „Offering public key“ und die Reaktion des Servers.


Lösung 5: Server-Konfiguration prüfen

Ist auf dem Server PubkeyAuthentication yes gesetzt? Und passt der Benutzer zur Freigabe? Details zur sicheren Konfiguration findest du unter SSH-Server absichern.


Häufige Fragen

Warum liegt es oft an den Dateirechten?

SSH ist aus Sicherheitsgründen streng: Sind ~/.ssh oder authorized_keys für andere lesbar oder beschreibbar, ignoriert der Server den Schlüssel. Die Rechte 700 bzw. 600 sind daher Pflicht.

Wie finde ich heraus, welcher Schlüssel angeboten wird?

Mit ssh -v siehst du in der Ausgabe, welche Schlüssel der Client anbietet. So erkennst du, ob überhaupt der richtige Schlüssel verwendet wird.

Kann ich mich per Passwort einloggen, um es zu reparieren?

Nur, wenn der Server die Passwort-Anmeldung erlaubt. Ist sie deaktiviert, brauchst du einen anderen Zugang (z. B. eine Konsole beim Hoster), um den Schlüssel zu reparieren.


Fazit

„Permission denied (publickey)“ liegt fast immer am falschen Benutzer, an den Dateirechten oder an einem fehlerhaften authorized_keys-Eintrag. Prüfe diese drei Punkte und nutze ssh -v zur Fehlersuche – dann klappt die Anmeldung wieder.

Siehe auch  Backups mit rsync erstellen unter Linux – Anleitung
Nach oben scrollen