SSH „Permission denied (publickey)“ beheben – Schritt-für-Schritt-Anleitung

Aktualisiert am 22.10.2026 · Lesezeit ca. 4 Min. · Niveau: Fortgeschrittene · von Viktor Tribus, IT-Tribus Nideggen

Der Server lässt Sie einfach nicht rein. Dieser Fehler ist ärgerlich, aber lösbar. Verstehen Sie die Ursachen und Anwendung der Lösungen, um Ihren SSH-Zugriff wiederherzustellen.

Typische Symptome

Wenn Sie versuchen, über SSH eine Remote-Verbindung herzustellen und die Authentifizierung fehlgeschlagen ist, erhalten Sie möglicherweise folgende Fehlermeldung im Terminal:

Beispiel / Konfiguration
Permission denied (publickey).

Diese Meldung deutet auf Probleme bei der Verwendung von Public-Key-Authentifizierung hin.

Was bedeutet der Fehler?

Die Meldung „Permission denied (publickey)“ tritt auf, wenn der SSH-Server die Authentifizierung über einen öffentlichen Schlüssel ablehnt. Dies kann verschiedene Ursachen haben, wie zum Beispiel falsche Berechtigungen, fehlende Schlüssel oder Konfigurationsprobleme.

Die häufigsten Ursachen

Eine Tabelle mit den häufigsten Ursachen und ihren Erkennungsmerkmalen:

Ursache Erkennungsmerkmal Häufigkeit
Falsche Schlüsselberechtigungen Berechtigungen der Schlüsseldatei sind nicht korrekt (z.B. 644) Häufig
Unvollständige Konfiguration Schlüssel ist nicht im autorisierten Schlüsseldatei (authorized_keys) enthalten Mittel
Falsche Konfigurationsdateien sshd_config ist unvollständig oder inkorrekt konfiguriert Selten
Fehlende SSH-Agenten-Authentifizierung Schlüssel wurde nicht geladen und ist daher nicht verfügbar Mittel
Netzwerkprobleme oder Blockierungen Firewall-Regeln blockieren den Zugriff auf den SSH-Port Selten

Ursache gezielt eingrenzen

Um die Ursache zu identifizieren, führen Sie folgende Schritte durch:

  1. Berechtigungen der Schlüsseldatei prüfen:
  2. Linux-Terminal (Bash)
    ls -l ~/.ssh/id_rsa

    Die Ausgabe sollte Berechtigungen von 600 anzeigen (z.B. -rw-------). Wenn nicht, ändern Sie die Berechtigungen mit:

    Linux-Terminal (Bash)
    chmod 600 ~/.ssh/id_rsa
  3. Autorisierte Schlüssel überprüfen:
  4. Linux-Terminal (Bash)
    cat ~/.ssh/authorized_keys

    Überprüfen Sie, ob Ihr öffentlicher Schlüssel in der Datei enthalten ist.

  5. Konfiguration des SSH-Servers überprüfen:
  6. Linux-Terminal (Bash)
    cat /etc/ssh/sshd_config | grep PubkeyAuthentication

    Die Ausgabe sollte PubkeyAuthentication yes anzeigen. Wenn nicht, ändern Sie es auf yes und starten Sie den SSH-Dienst neu:

    Linux-Terminal (Bash)
    sudo systemctl restart sshd
  7. SSH-Agenten-Authentifizierung überprüfen:
  8. Linux-Terminal (Bash)
    ssh-add -l

    Sollten keine Schlüssel geladen sein, fügen Sie den privaten Schlüssel hinzu:

    Linux-Terminal (Bash)
    ssh-add ~/.ssh/id_rsa

Lösungen nach Ursache

Nachdem die Ursache eingegrenzt wurde, können Sie entsprechend handeln. Hier sind einige häufige Lösungsansätze.

Lösung 1: Falsche Schlüsselberechtigungen beheben

Wenn die Berechtigungen der Schlüsseldatei nicht korrekt sind, ändern Sie sie wie folgt:

  1. Berechtigungen anpassen:
  2. Linux-Terminal (Bash)
    chmod 600 ~/.ssh/id_rsa
  3. Erneut versuchen, die Verbindung herzustellen:
  4. ssh BENUTZER@SERVER-IP

Lösung 2: Autorisierte Schlüssel hinzufügen

Fügen Sie den öffentlichen Schlüssel zur Datei authorized_keys hinzu, wenn er fehlt:

  1. Öffentlicher Schlüssel generieren (falls nicht vorhanden):
  2. Linux-Terminal (Bash)
    ssh-keygen -t rsa -b 4096
  3. Öffentlichen Schlüssel in die autorisierte Schlüsseldatei einfügen:
  4. cat ~/.ssh/id_rsa.pub | ssh BENUTZER@SERVER-IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

  5. Erneut versuchen, die Verbindung herzustellen:
  6. ssh BENUTZER@SERVER-IP

Lösung 3: Konfigurationsdatei korrigieren

Wenn die Datei sshd_config inkorrekt konfiguriert ist, ändern Sie sie wie folgt:

  1. Konfigurationsdatei bearbeiten:
  2. nano /etc/ssh/sshd_config

  3. Überprüfen und korrigieren Sie die Einstellungen für PubkeyAuthentication und AuthorizedKeysFile. Beispiel:
  4. Beispiel / Konfiguration
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
  5. Datei speichern und SSH-Dienst neu starten:
  6. sudo systemctl restart sshd

  7. Erneut versuchen, die Verbindung herzustellen:
  8. ssh BENUTZER@SERVER-IP

Lösung 4: SSH-Agenten-Authentifizierung aktivieren

Sicherstellen Sie, dass der SSH-Agent läuft und der private Schlüssel geladen ist:

  1. SSH-Agent starten:
  2. eval "$(ssh-agent -s)"

  3. Privaten Schlüssel hinzufügen:
  4. Linux-Terminal (Bash)
    ssh-add ~/.ssh/id_rsa
  5. Erneut versuchen, die Verbindung herzustellen:
  6. ssh BENUTZER@SERVER-IP

Wenn nichts hilft

Falls nach diesen Schritten der Fehler weiterhin besteht, können Sie folgende Maßnahmen ergreifen:

  1. Logs auswerten:
  2. Linux-Terminal (Bash)
    sudo tail -f /var/log/auth.log
  3. Daten sichern:
  4. rsync -avz BENUTZER@SERVER-IP:/path/to/backup /local/path

  5. Wann professionelle Hilfe sinnvoll ist:
  6. Falls die Probleme weiterhin bestehen, kann es hilfreich sein, eine Expertengruppe wie IT-Tribus in Nideggen einzuschalten. Wir helfen Ihnen bei der Diagnose und Lösung des Problems.

So beugen Sie vor

Um zukünftig solche Probleme zu vermeiden, beachten Sie folgende Best Practices:

  • Berechtigungen regelmäßiger Überprüfung unterziehen:
  • Linux-Terminal (Bash)
    ls -l ~/.ssh
  • Regelmäßige Backups der Schlüsseldateien erstellen:
  • rsync -avz ~/.ssh /backup/path

  • Firewall-Regeln überprüfen und entsprechend einstellen:
  • Linux-Terminal (Bash)
    sudo ufw allow 22/tcp

Häufige Fragen

Wie kann ich sicherstellen, dass der SSH-Agent läuft?

Sie können den SSH-Agenten überprüfen und starten mit folgendem Befehl:

eval "$(ssh-agent -s)"

Was bedeutet „Permission denied (publickey)“ genau?

Diese Meldung deutet darauf hin, dass der SSH-Server die Authentifizierung über einen öffentlichen Schlüssel ablehnt. Dies kann verschiedene Ursachen haben, wie falsche Berechtigungen oder fehlende Schlüssel.

Wo finde ich die Logs für SSH?

SSH-Logs finden Sie in der Regel unter /var/log/auth.log auf Debian/Ubuntu-basierten Systemen. Auf anderen Linux-Distributionen können sie sich an anderer Stelle befinden, wie z.B. /var/log/secure.

Kann ich SSH mit einem Passwort statt Schlüssel verwenden?

Ja, Sie können Passwortsicherheit einrichten, indem Sie in der Konfigurationsdatei sshd_config die Option PasswordAuthentication yes aktivieren. Dies ist aber weniger sicher als Public-Key-Authentifizierung.

Wie kann ich meine SSH-Verbindung testen?

Sie können Ihre SSH-Verbindung mit einem einfachen Befehl testen:

ssh -T BENUTZER@SERVER-IP

Dies führt eine Verbindung ohne Sitzungsaufbau durch und gibt nur die Authentifizierungsmeldungen zurück.

Fazit

Der SSH-Fehler „Permission denied (publickey)“ kann auf verschiedene Ursachen zurückzuführen sein. Durch sorgfältige Prüfung der Schlüsselberechtigungen, Konfiguration und Authentifizierung können Sie den Fehler in den meisten Fällen selbstständig beheben. Bei weiterhin bestehenden Problemen ist es ratsam, professionelle Unterstützung wie IT-Tribus in Nideggen einzuschalten.

Quellen und weiterführende Informationen

Hinweis: Dieser Beitrag wurde am 22.10.2026 mit KI-Unterstützung erstellt, auf Basis der genannten Quellen eigenständig formuliert und redaktionell von IT-Tribus betreut. Alle Angaben ohne Gewähr – bitte prüfen Sie Befehle vor dem Einsatz in produktiven Umgebungen und legen Sie vorher eine Sicherung an.

Benötigen Sie Unterstützung bei Permission denied publickey?

IT-Tribus ist Ihr IT-Dienstleister aus Nideggen. Vor Ort helfen wir in Düren, im Kreis Düren und in der Region Aachen – Monitoring und Fernwartung mit NinjaOne bieten wir Unternehmen auch überregional an.

Kostenlose Erstanalyse anfordern
📞 02427 9099860