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.
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.
quelle