[SSH] Problème configuration chroot SFTP

Applications, problèmes de configuration réseau
romano2k
Hankyu
Messages : 25
Inscription : sam. 04 mai 2013, 17:53

[SSH] Problème configuration chroot SFTP

Message 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 ? :)
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17614
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [SSH] Problème configuration chroot SFTP

Message 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
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre