Richten Sie autorisiertes SSH mit öffentlichem Schlüssel für Nicht-Root-Benutzer ein


7

Ich konnte die SSH-Anmeldung mit öffentlichen Schlüsseln für Root-Benutzer einrichten und versuchte, dieselbe Logik für Nicht-Root-Benutzer anzuwenden. Ich habe vergeblich versucht, dieses Problem zu beheben. Ich verwende Centos sowohl für meinen lokalen Computer als auch für den Remote-Server.

Hier ist eine Übersicht meiner sshd_config-Datei auf meinem Remote-Server:

RSAAuthentication yes
PublicKeyAuthentication yes
AuthorizedKeysFile /etc/ssh/user/authorized_keys

PasswordAuthentication no

UsePAM no

PermitRootLogin without-password

Ich habe meine Datei mit autorisierten Schlüsseln von der Startseite des Benutzers nach / etc / ssh / user / autorisierte_Tasten verschoben, während ich über die Verschlüsselung von Privatverzeichnissen in Centos gelesen habe.

Ich habe auch den Besitz aller Dateien / Verzeichnisse geändert, die dem Nicht-Root-Benutzer zugeordnet sind.

Ich bin mir nicht sicher, welchen Schritt ich in meiner Konfiguration vermisse, da dieselbe Konfiguration für Root-Remote-Anmeldungen sehr gut funktioniert.

Antworten:


7

Entfernen Sie den Eintrag authorized_keys in Ihrer Konfigurationsdatei. Starten Sie sshd neu. Erstellen Sie ein .ssh-Verzeichnis in Ihrem Nicht-Root-Benutzer-Home-Verzeichnis. Legen Sie den Schlüssel in eine Datei mit dem Namen ~ / .ssh / autorisierte Schlüssel. Erstellen Sie das Verzeichnis 0700 und die Datei authorized_keys 0644. Machen Sie dasselbe für den Root-Benutzer.


Möchten Sie, dass ich dieselbe Datei "authorized_keys" sowohl für Root- als auch für Nicht-Root-Benutzer verwende?
user2887201

Bis zu Ihnen ...............
dmourati

Ich bekomme immer noch die gleiche Erlaubnis verweigert (publickey, gssapi-keyex, gssapi-with-mic)
user2887201

Als ich ssh user @ remotehost als Root-Benutzer ausprobierte, schlug die Authentifizierung fehl. Aber als ich versuchte, mich als "Benutzer" anzumelden, wurde die Verbindung hergestellt. Dies ist ein Anfang, vielen Dank!
user2887201

1
Die Root-SSH-Schlüsseldatei befindet sich in /root/.ssh/authorized_keys
dmourati

3

Um klar zu sein, muss sich die PUBLIC-Schlüsseldatei (z. B. ~ / .ssh / id_rsa.pub) vom Ursprungscomputer auf dem Zielcomputer in ~ / .ssh / autorisierten_keys befinden.

Wenn Sie über ~ / .ssh / id_rsa kopieren, funktioniert das nicht. Das moderne sshd besteht auch darauf, dass ~ / .ssh der Modus 700 und ~ / .ssh / autorisierte_Tasten der Modus 600 auf dem Zielcomputer sind.

Nebenbei: Wenn Sie können, verwenden Sie sudo, anstatt Root-Anmeldungen über ssh zuzulassen.


2
Tatsächlich ist 644 für autorisierte Schlüssel in Ordnung. Letztendlich ist es eine Liste öffentlicher Schlüssel.
user9517
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.