Page 1 sur 1

[SSH] Problème configuration chroot SFTP

Publié : ven. 25 mars 2016, 01:09
par romano2k
Bonsoir !

Je viens d'essayer une nouvelle fois, à tête reposée, de configurer un chroot SFTP pour donner accès à des données personnelles à un ami.

Sur Google et sur DuckDuckGo, c'est le wiki d'Archlinux.org qui sort en premier sur la requête "SFTP chroot", ça tombe bien ! ;-)
https://wiki.archlinux.org/index.php/SFTP_chroot

L'ennui c'est que j'ai beau suivre le guide à la lettre, ça ne fonctionne pas.

Comme ça n'avait pas fonctionné la fois précédente avec ce guide, j'ai diagnostiqué étape après étape.

Après avoir seulement ajouté "Subsystem sftp internal-sftp" à /etc/ssh/sshd_config et redémarré sshd, mon propre utilisateur peut toujours se connecter en SSH et en SFTP.

Après avoir ajouté le bloc Match User, idem.

Puis je crée l'utilisateur de mon ami, avec pour groupe de base "users" (sudo useradd -m -g users XXX), je lui attribue un mot de passe, et je chown root:root son /home, conformément à ce qu'indique le guide du wiki d'Archlinux. Il est expliqué que si on ne le fait pas, l'utilisateur pourra sortir de son chroot. Je "mkdir" puis je "mount --bind" le répertoire que je veux lui partager dans la foulée.

Mais lorsque j'essaie de me connecter via SFTP, il m'est impossible de lister le contenu du répertoire. Si je "sudo su XXX", j'obtiens "bash: /home/XXX/.bashrc: Permission denied" et il m'est impossible de "cd /home/XXX". Ce qui me parait logique, puisque le /home/XXX ne lui appartient pas, mais je n'ai fait que suivre les instructions.

Juste pour vérifier, je re-chown XXX:users son home, mais lorsque j'essaie de me connecter via SFTP, j'obtiens : "packet_write_wait: Connection to ::1 port 22: Broken pipe" "Couldn't read packet: Connection reset by peer". Pourquoi le serveur est-il si restrictif ?

Puis en me basant sur ma très modeste maitrise des autorisations, j'ai "chown root:users /home/XXX" puis "chmod g+rx /home/XXX". Depuis je crois que ça fonctionne comme je le souhaitais.

Mais suis-je passé à côté de quelque chose ? :)

Re: [SSH] Problème configuration chroot SFTP

Publié : ven. 25 mars 2016, 09:49
par benjarobin
Bonjour,
Ton analyse est bonne. Tu n'as pas 36 solutions, tu en as 3 :
  • Faire un ChrootDirectory /home, si les autres home ne donnent pas accès en lecture pour les autres utilisateurs il n'y a pas de souci (en gros tous les dossiers en 750).
  • Faire le ChrootDirectory %h, avec /home/username root:root et 755 : Tout le monde à accès au dossier /home/username
  • Faire le ChrootDirectory %h, avec /home/username root:sftponly et 750 : Toutes les personnes de sftponly ont accès au dossier
Tu peux très bien avoir users à la place de sftponly, mais cela donne accès à plus de personne par défaut. Tu peux même créer un groupe spécial pour cet utilisateur, en nommant le groupe du même nom que son utilisateur, et remplacer sftponly par ce groupe

Le problème avec les ChrootDirectory %h c'est que l'utilisateur n'aura pas un accès en écriture à la racine de son home