J'utilise Debian stable et je cherche à établir l'environnement suivant pour les utilisateurs de mon groupe 'sftponly':
- emprisonné
- peut transférer avec SFTP
- peut transférer avec SCP
- ne peut pas se connecter de manière interactive avec SSH
D'après mes expérimentations et mes recherches, il semble que la strophe suivante dans sshd_config m'atteigne à 90%:
Match group sftponly
ChrootDirectory /sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Cela me donne SFTP emprisonné et pas de SSH, ce qui est bien. Mais cela désactive également SCP, ce qui est loin d'être idéal car bon nombre de clients sont des processus scriptés hérités qui utilisent SCP plutôt que SFTP (le serveur que nous remplaçons pris en charge les deux protocoles), et puisque ces clients ne sont pas sous notre contrôle et facilement modifié, il n'est probablement pas pratique de désactiver complètement SCP.
Il est logique que cette configuration désactive SCP, car les connexions SCP entrantes font que sshd génère un processus `scp 'via le shell de connexion de l'utilisateur, en tant que cet utilisateur. Il semble que la même chose serait normalement vraie pour SFTP, sans le gestionnaire spécial «internal-sftp».
Donc, je suppose que ma question est: existe-t-il un moyen d'obtenir le même effet que 'internal-sftp' mais pour SCP, sans recourir à l'utilisation d'outils tiers comme scponly et rssh? Ce qui est vraiment bien avec 'internal-sftp', c'est qu'il ne nécessite pas de mettre en place une prison avec des fichiers de support, ni de traiter des binaires setuid tiers potentiellement exploitables (rssh, en particulier, a un historique d'exploits).