Ssh-keys sind sehr hilfreich, wenn es darum geht sich ohne Kennwort auf einem anderen Linux System anzumelden. Mit Hilfe von ssh-keygen erstellt man einen privaten und einen öffentlichen Schlüssel. Den öffentlichen Schlüssel hinterlegt man auf dem anderen System in der Datei /home/Benutzer/.ssh/authorized_keys .
Ein Kollege hatte seinen öffentlichen Schlüssel auf einem CentOS System hinterlegt. Als er sich auf dem System anmelden wollte erhielt er unter anderem die Meldung:
Authentication refused: bad ownership or modes for file /home/Benutzer/.ssh/authorized_keys
Ich fand heraus das der Ordner .ssh und die Datei authorized_keys zu viele Rechte hatte, andere Benutzer durften Ordner und Datei einsehen.
Ein chmod 700 .ssh
und chmod 600 authorized_keys
lösten das Problem.
Hallo Hermann,
über den Planeten bin ich heute über deinen Post gestolpert.
Ich würde gerne noch ergänzen, dass es aus security Sicht von Vorteil ist die Public-Keys der User außerhalb des Homeverzeichnisses zu platzieren.
Beispielsweise unter /etc/ssh/pubkeys/ der Pfad kann in der sshd_config abgepasst werden „AuthorizedKeysFile“. Es muss dort dann eine Datei angelegt werden mit dem Usernamen und den Rechten 644 oder 444 die den Public-Key enthält.
Damit wird verhindert, dass sich der User beliebige Pubkeys eintragen kann.
Gruß
Jens