So machen Sie die Anmeldung ohne Passwort möglich

12

Ich habe einen Schlüssel generiert und auf mein Ziel kopiert:

ssh-keygen
ssh-copy-id username@hostname

Ich habe den Speicherort des Schlüssels als Standard festgelegt und keine Passphrase festgelegt.

Für eine kurze Zeit danach konnte ich ssh username@hostnameohne Aufforderung ein Passwort eingeben, und dann funktionierte es aus irgendeinem Grund nicht mehr.

Tshepang
quelle
2
Siehe unix.stackexchange.com/tags/ssh/info ... Machen wir dies zu einer Referenzfrage, von der wir andere als Duplikat schließen können.
Gilles 'SO - hör auf böse zu sein'

Antworten:

8

Wenn die Authentifizierung mit öffentlichem Schlüssel nicht funktioniert: Stellen Sie sicher, dass Ihr Ausgangsverzeichnis ( ~), das ~/.sshVerzeichnis und die ~/.ssh/authorized_keysDatei auf der Serverseite nur von ihrem Eigentümer beschreibbar sind . Insbesondere darf keiner von ihnen von der Gruppe beschreibbar sein (auch wenn der Benutzer alleine in der Gruppe ist). chmod 755oder chmod 700ist ok, chmod 770ist nicht.

Was ist zu überprüfen, wenn etwas nicht stimmt?

  • Führen Sie ssh -vvvdas Programm aus , um viele Debugging-Ausgaben zu sehen. Wenn Sie eine Frage stellen, warum Sie keine Verbindung zu ssh herstellen können, schließen Sie diese Ausgabe ein (Sie möchten möglicherweise Host- und Benutzernamen anonymisieren).
  • Wenn Sie können, überprüfen Sie die Serverprotokolle, in der Regel in /var/log/daemon.logoder /var/log/auth.logoder ähnliches.
  • Wenn die Authentifizierung mit öffentlichen Schlüsseln nicht funktioniert, überprüfen Sie die Berechtigungen erneut, insbesondere das Gruppenbit (siehe oben).
Gilles 'SO - hör auf böse zu sein'
quelle
Hallo, warum sollte authorized_keysdie Gruppe nicht beschreibbar sein? Lehnt SSH dies aus Sicherheitsgründen ab?
Hey
1
@YdobEmos Jeder, der schreiben kann, authorized_keyskann dort seinen eigenen Schlüssel hinzufügen und sich so in das Konto einloggen. Es muss also nur der Benutzer zugelassen werden. (Das Beschreiben der Datei mit Gruppen ist tatsächlich sicher, wenn sich kein anderer Benutzer in dieser Gruppe befindet. Es ist jedoch schwierig, zuverlässig zu erkennen, wann Gruppenmitgliedschaften aus Netzwerkdatenbanken stammen können.)
Gilles 'SO - hör auf, böse zu sein'
1

Das Ausgangsverzeichnis des Ziels war 755 drwxr-xr-x. Durch das Ändern der Schreibberechtigung für Gruppen wurde 775 drwxrwxr-xdas kennwortlose Setup unterbrochen.

Tshepang
quelle
Gleiches Problem hat es noch nicht gelöst.
Sie können sich nicht ohne Kennwort anmelden, auch wenn das Verzeichnis für Gruppen beschreibbar ist?
Tshepang
JA - siehe unix.stackexchange.com/q/208152/11085 , CentOS 7 64-Bit, wo ich versuche, mich mit meinen id_rsa-Schlüsseln anzumelden, aber es schlägt immer fehl.
0

Nachdem Sie sichergestellt haben, dass die Berechtigungen korrekt sind und die Schlüssel erneut gesendet wurden, funktionierte dies immer noch nicht.

Dann stolperte ich über das, was ich vorher nicht getan und niemanden erwähnt hatte.

-O allow_other kann nicht mit sshfs verwendet werden (Option in fuse.conf aktiviert)

Nach der Aktivierung habe ich meine sshfs-Befehle ohne sudo ausgeführt und alles hat perfekt funktioniert.

user6294230
quelle
0

Angenommen, RHEL / CentOS und Sie haben Administratorzugriff auf den Remote-Server, auf dem der Benutzer newuserssh ausführen möchte.

newuser'sBestehendes besorgen id_rsa.pubund fertig haben.

Folge den Schritten:

useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/

Habe newuserversucht mich einzuloggen.

ein Kodierer
quelle