GNU/Linux >> Tutoriels Linux >  >> Linux

Autorisations SSH et répertoire personnel ?

Il m'a fallu des heures pour résoudre ce problème SSH avec l'un de mes comptes de classe sur les serveurs de mon école.

Je ne pouvais pas accéder à un compte de classe particulier sans entrer mon mot de passe, tandis que l'authentification sans mot de passe fonctionnait avec mes autres comptes de classe. Le répertoire .ssh/ et tout son contenu avaient les mêmes autorisations correctes que les autres comptes de classe.

Il s'avère que le problème était les autorisations définies sur mon propre répertoire personnel. L'authentification sans mot de passe ne fonctionnait pas lorsque les autorisations sur mon répertoire HOME étaient définies sur 770 (indépendamment des autorisations définies pour .ssh/), mais cela fonctionnait avec des autorisations définies sur 755 ou 700.

Quelqu'un sait pourquoi SSH fait ça ? Est-ce parce que les permissions du répertoire personnel sont trop permissives ? Pourquoi SSH refuse-t-il de s'authentifier avec les clés publiques/privées lorsque le répertoire personnel est défini plus permissif que 700 ?

Réponse acceptée :

C'est le comportement par défaut pour SSH. Il protège les clés des utilisateurs en appliquant rwx------ sur $HOME/.ssh et s'assurer que seul le propriétaire dispose des autorisations d'écriture sur $HOME . Si un utilisateur autre que le propriétaire respectif dispose d'une autorisation d'écriture sur $HOME répertoire, ils pourraient malicieusement modifier les permissions sur $HOME/.ssh , détournant potentiellement les clés utilisateur, known_hosts , ou quelque chose de similaire. En résumé, les autorisations suivantes sur $HOME sera suffisant pour que SSH fonctionne.

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

SSH ne fonctionnera pas correctement et enverra des avertissements aux installations de journalisation en cas de variation de g+w ou o+w existe sur le $HOME annuaire. Cependant, l'administrateur peut remplacer ce comportement en définissant StrictModes no dans le sshd_config (ou similaire) fichier de configuration, bien qu'il soit clair que ce n'est pas recommandé .


Linux
  1. Pour modifier l'autorisation pour le répertoire et les fichiers

  2. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  3. Comment modifier les autorisations de fichiers et de répertoires avec le gestionnaire de fichiers

  4. Questions d'entretien Linux - Autorisations de base sur les fichiers et les répertoires

  5. Tableau des autorisations pour les types d'utilisateurs d'un fichier/répertoire et d'un système de fichiers

Authentification SSH Ansible et escalade des privilèges

Tunnellisation et proxy SSH

Autorisations de fichiers et sauvegarde ?

Rsync modifie les autorisations du répertoire ?

Autorisations de base du répertoire Linux et comment les vérifier

Gérer les autorisations de répertoire et de fichier avec chmod Recursive