SSH-Schlüssel sind eine großartige Methode, um SSH-Sitzungen zu authentifizieren, ohne dass bei jeder Anmeldung ein Passwort erforderlich ist. Wie alle Technologien sind SSH-Schlüssel jedoch nicht perfekt, und bei der Verwendung können Fehler auftreten. Einer der häufigsten Fehler beim Arbeiten mit SSH-Schlüsseln ist der Berechtigungsfehler (publickey).
In diesem Artikel werden die verschiedenen Gründe für diesen Fehler erläutert und die schnellen Schritte gezeigt, die Sie unternehmen können, um den Fehler zu beheben.
Fehler 1: Autorisierte Schlüssel und Verzeichnisberechtigungen
Eine der Ursachen für diesen Fehler können die Berechtigungen und das Eigentum sein, die für die konfigurierten .ssh-Verzeichnis und authorisierte_keys-Datei.
Um dieses Problem zu beheben, stellen Sie die .ssh-Verzeichnisberechtigungen auf 700 und die authorisierten_keys-Berechtigungen auf 6oo.
sudo chmod 700 ~/.ssh sudo chmod 600 authorisierte_keysFehler 2: Falsche SSH-Konfigurationen
Eine weitere häufige Ursache für den Publickey-Fehler ist eine falsche Konfiguration in der Datei sshd_config. Um dieses Problem zu beheben, bearbeiten Sie die Datei /etc/ssh/sshd_config und ändern Sie die folgenden Einträge.
#PermitRootLogin Verbots-Passwort#PasswortAuthentifizierung ja
Die obigen Einträge sollten wie folgt aussehen:
PermitRootLogin jaPasswortAuthentifizierung ja
Speichern Sie die Konfiguration und starten Sie den Dienst neu:
sudo systemctl Neustart sshd.BedienungFehler 3: Fehlende Schlüssel
Eine weitere mögliche Ursache für den Fehler "Publickey-Berechtigung verweigert" können fehlende Schlüssel von Ihrem lokalen Computer sein. Wenn Sie Ihre Schlüssel zur Datei "authorized_keys" des Servers hinzugefügt haben, aber die entsprechenden privaten Schlüssel fehlen, kann dies zu einem Fehler führen.
Um dieses Problem zu beheben, bearbeiten Sie die ssh-Konfigurationsdatei, deaktivieren Sie die Authentifizierung mit öffentlichem Schlüssel und aktivieren Sie die Kennwortanmeldung wie folgt:
PubkeyAuthentifizierung ja#PasswortAuthentifizierung ja
Wechseln Sie zu folgenden Einträgen:
#PubkeyAuthentifizierung jaPasswortAuthentifizierung ja
Nachdem Sie die Konfiguration bearbeitet haben, speichern Sie die Datei und starten Sie den SSH-Dienst neu:
sudo systemctl Neustart sshd.BedienungWenn Sie sicher sind, dass Ihre Schlüssel kompromittiert wurden, können Sie sie aus authorised_keys entfernen oder einen bestimmten Schlüssel zur Sperrliste in SSH hinzufügen.
Fazit
Diese Kurzanleitung hat Ihnen gezeigt, wie Sie verschiedene Probleme beheben können, die den Berechtigungsfehler (publickey) in SSH verursachen können. Wenn dieses Problem weiterhin besteht, ziehen Sie andere Methoden zur Fehlerbehebung in Betracht.