GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So beheben Sie SSH-fehlgeschlagene Berechtigung verweigert (publickey,gssapi-keyex,gssapi-with-mic)

Einführung

Der Fehler „SSH-Berechtigung verweigert“ wird angezeigt, nachdem berechtigungsbezogene Einstellungen auf dem SSH-Server geändert wurden. Übliche Szenarien umfassen eine neue Paketinstallation oder die Erstellung neuer Benutzer.

In diesem Tutorial erfahren Sie, wie Sie den Fehler „SSH-Berechtigung verweigert“ beheben und die Verbindung zu Ihrem SSH-Server wiederherstellen.

Voraussetzungen

  • SSH-Client auf dem lokalen Rechner und SSH-Server auf dem Remote-System
  • Ein Benutzerkonto für den Zugriff auf den Remote-Server (für passwortbasierte Anmeldung)
  • Ein Benutzerkonto mit sudo oder root Privilegien

Was verursacht die Verweigerung der SSH-Berechtigung (publickey,gssapi-keyex,gssapi-with-mic)?

Der Fehler „SSH-Berechtigung verweigert“ wird angezeigt, wenn versucht wird, eine SSH-Verbindung zu einem Server herzustellen:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

Nach der Permission denied-Anweisung enthält die Klammer die versuchten Authentifizierungsmethoden, die beim Verbindungsaufbau fehlgeschlagen sind. Der Fehler deutet darauf hin, dass der öffentliche Schlüssel das Problem ist, was irreführend ist.

Ein Grund für den Fehler kann sshd_config sein , die Datei, die die SSH-Serverkonfiguration enthält. Die andere Möglichkeit ist, dass die authorized_keys Datei hat unzureichende Berechtigungen. Diese Datei enthält die Liste der öffentlichen Schlüssel für die Clients, die per SSH auf den Server zugreifen dürfen. Folglich führt die Unfähigkeit des Systems, aus der Datei zu lesen, zum Fehler Berechtigung verweigert.

So beheben Sie SSH-Zugriff verweigert

Beide Lösungen enthalten Schritte, die Sie serverseitig ausführen müssen. Öffnen Sie zunächst das Terminal auf Ihrem Server und fahren Sie mit einer der folgenden Lösungen fort.

Lösung 1:Kennwortauthentifizierung aktivieren

Wenn Sie ein Kennwort für den Zugriff auf den SSH-Server verwenden möchten, besteht eine Lösung zur Behebung des Fehlers „Berechtigung verweigert“ darin, die Kennwortanmeldung in sshd_config zu aktivieren Datei.

Öffnen Sie dazu die Datei in einem Texteditor. Dieses Beispiel verwendet den Nano-Editor:

sudo nano /etc/ssh/sshd_config

Suchen Sie in der Datei PasswordAuthentication Zeile und vergewissern Sie sich, dass sie mit yes endet .

Suchen Sie die ChallengeResponseAuthentication Option und deaktivieren Sie sie, indem Sie no hinzufügen .

Wenn Zeilen auskommentiert sind, entfernen Sie das Rautezeichen # auskommentieren.

Speichern Sie die Datei und beenden Sie sie.

Starten Sie den SSH-Dienst neu, indem Sie den folgenden Befehl eingeben:

sudo systemctl restart sshd

Lösung 2:Dateisystemberechtigungen ändern

Die Verwendung der passwortbasierten Anmeldung als SSH-Authentifizierungsmethode wird aus Sicherheitsgründen nicht empfohlen. Daher ist die folgende Lösung möglicherweise vorzuziehen, da sie die Authentifizierungsmethode mit öffentlichem Schlüssel behebt.

Öffnen Sie zuerst die sshd_config Datei mit einem Texteditor:

sudo nano /etc/ssh/sshd_config

Stellen Sie in der Datei sicher, dass die folgenden Optionen wie folgt festgelegt sind:

PermitRootLogin no
PubkeyAuthentication yes

Kommentieren Sie die GSSAPI-bezogenen Optionen aus, indem Sie das Hash-Zeichen am Anfang der Zeile hinzufügen:

#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no

Stellen Sie außerdem sicher, dass UsePAM Zeile ist auf yes gesetzt :

UsePAM yes

Speichern Sie die Datei und starten Sie den sshd-Dienst neu:

systemctl restart sshd

Navigieren Sie nun zu Ihrem Home-Ordner und überprüfen Sie die Berechtigungen:

ls -ld

Wenn Ihre Besitzerberechtigungen nicht auf Lesen, Schreiben und Ausführen (drwx------ ), verwenden Sie den chmod-Befehl, um sie zu ändern:

chmod 0700 /home/[your-username]

Gehen Sie nun zur .ssh Ordner und überprüfen Sie die Berechtigungen erneut:

ls -ld

Dieses Verzeichnis sollte auch Lese-, Schreib- und Ausführungsberechtigungen für den Dateieigentümer haben. Um sie zu erzwingen, verwenden Sie chmod nochmal:

chmod 0700 /home/your_home/.ssh

Die .ssh Ordner enthält die authorized_keys Datei. Überprüfen Sie seine Berechtigungen mit:

ls -ld authorized_keys

Der Dateieigentümer sollte Lese- und Schreibrechte haben. Um sie einzustellen, verwenden Sie:

chmod 0600 /home/[username]/.ssh/authorized_keys

Versuchen Sie nun erneut, sich mit dem Schlüsselpaar anzumelden. Die folgende Ausgabe zeigt einen erfolgreichen Anmeldeversuch.


Linux
  1. So erhöhen Sie das Timeout der SSH-Verbindung

  2. So beheben Sie den Fehler – ModSecurity:Zugriff verweigert mit Code 44 [Apache]

  3. So beheben Sie den Docker Permission Denied-Fehler unter Ubuntu

  4. Behebung des SSH-Fehlers „Berechtigung verweigert (Publickey)“ in Linux

  5. Git kann keine Dateiberechtigung verweigert erstellen

So erstellen Sie einen persönlichen Dateiserver mit SSH unter Linux

So beheben Sie den Fehler Sie haben keine Zugriffsberechtigung…

So listen Sie erfolglose SSH-Anmeldungen unter Linux auf

So beheben Sie Konvertierungsfehler mit Calibre

Mount-CIFS-Berechtigung unter Linux verweigert – behoben!

SSH - So fügen Sie den Befehl -t in die Datei ~/.ssh/config ein