Hypothèse : vous avez crypté (via ecryptfs par exemple) votre disque ou votre répertoire personnel (/home/user1), vous avez installé un serveur SSH sur votre machine afin d’y accèder à distance via un client SSH en utilisant des clés privées/publiques.

Problême: sans paramétrage spécifique, vous risquez de rencontrer des difficultés. En effet, le fichier « authorized_keys » lu par SSH étant stocké par défaut dans le sous-répertoire /home/user1/.ssh et lors de la connexion SSH ce répertoire étant crypté, l’accès au fichier « authorized_keys » ne sera pas possible ce qui provoquera une erreur côté client SSH.

Solution : déplacer le fichier « authorized_keys » en dehors du répertoire crypté et changer le paramétrage de votre serveur SSH en conséquence

Vous pouvez par exemple procéder ainsi :

  • créer un sous-répertoire « user1  » dans /etc/ssh/
    mkdir /etc/ssh/user1
  • lui attribuer comme propriétaire « user1  » et les droits « 700  »
    chown user1:user1 /etc/ssh/user1
    chmod 700 /etc/ssh/user1
  • y copier le fichier « authorized_keys » et lui définir les droits « 600  »
    cp /home/user1/.ssh/authorized_keys /etc/ssh/user1/authorized_keys
    chmod 600 /etc/ssh/user1/authorized_keys

Remarque : vous devez appliquer cette procédure pour tous les utilisateurs souhaitant se connecter via SSH

  • changer le paramétrage de votre serveur SSH en modifiant dans le fichier « /etc/ssh/sshd_config » l’option « AuthorizedKeysFile »
    "AuthorizedKeysFile      %h/.ssh/authorized_keys"
    devient ainsi
    "AuthorizedKeysFile      %h/.ssh/authorized_keys /etc/ssh/%u/authorized_keys"

Remarque : le « %u » représente l’identifiant de l’utilisateur désirant se connecter

  • Relancer le serveur SSH
    service ssh restart
Print Friendly, PDF & Email