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

Berechtigungen für SSH- und Home-Verzeichnisse?

Ich habe Stunden gebraucht, um dieses SSH-Problem mit einem meiner Klassenkonten auf den Servern meiner Schule zu lösen.

Ich konnte nicht in ein bestimmtes Klassenkonto ssh, ohne mein Passwort einzugeben, während die passwortlose Authentifizierung mit meinen anderen Klassenkonten funktionierte. Das .ssh/-Verzeichnis und alle seine Inhalte hatten dieselben korrekten Berechtigungen wie die anderen Klassenkonten.

Es stellte sich heraus, dass das Problem die Berechtigungen waren, die für mein eigenes Home-Verzeichnis festgelegt wurden. Die passwortlose Authentifizierung funktionierte nicht, wenn die Berechtigungen für mein HOME-Verzeichnis auf 770 gesetzt waren (unabhängig von den Berechtigungen für .ssh/), aber es funktionierte mit Berechtigungen, die auf 755 oder 700 gesetzt waren.

Weiß jemand warum SSH das macht? Liegt es daran, dass die Berechtigungen des Home-Verzeichnisses zu freizügig sind? Warum weigert sich SSH, sich mit den öffentlichen/privaten Schlüsseln zu authentifizieren, wenn das Home-Verzeichnis freizügiger als 700 ist?

Akzeptierte Antwort:

Dies ist das Standardverhalten für SSH. Es schützt Benutzerschlüssel, indem es rwx------ erzwingt auf $HOME/.ssh und sicherzustellen, dass nur der Besitzer Schreibrechte auf $HOME hat . Wenn ein anderer Benutzer als der jeweilige Besitzer Schreibrechte auf der $HOME hat Verzeichnis, könnten sie die Berechtigungen für $HOME/.ssh böswillig ändern , wodurch möglicherweise die Benutzerschlüssel known_hosts entführt werden , oder etwas ähnliches. Zusammenfassend die folgenden Berechtigungen auf $HOME ausreichen, damit SSH funktioniert.

  • rwx------
  • rwxr-x---
  • rwxr-xr-x

SSH funktioniert nicht richtig und sendet Warnungen an die Protokollierungseinrichtungen, wenn g+w variiert oder o+w existiert auf $HOME Verzeichnis. Der Administrator kann dieses Verhalten jedoch überschreiben, indem er StrictModes no definiert in der sshd_config (oder ähnliche) Konfigurationsdatei, obwohl klar sein sollte, dass dies nicht empfohlen wird .


Linux
  1. Ssh – Beschränken eines Ssh/scp/sftp-Benutzers auf ein Verzeichnis?

  2. Rsync ändert die Verzeichnisberechtigungen?

  3. So ändern Sie Datei- und Verzeichnisberechtigungen mit dem Dateimanager

  4. Linux-Interviewfragen – Grundlegende Datei- und Verzeichnisberechtigungen

  5. Berechtigungstabelle für Datei-/Verzeichnis- und Dateisystem-Benutzertypen

Ansible SSH-Authentifizierung und Rechteausweitung

SSH-Tunneling und Proxying

Grundlegende Linux-Verzeichnisberechtigungen und wie man sie überprüft

Verwalten Sie Verzeichnis- und Dateiberechtigungen mit chmod Recursive

Home-Verzeichnis und Shell für Active Directory-authentifizierte Benutzer

Dateiberechtigungen im Home-Verzeichnis eines Benutzers müssen korrigiert werden