Solution 1 :
À partir de la version 4.9, OpenSSH (non disponible dans centos 5.x mais la fonctionnalité ChrootDirectory a été rétroportée) a un internal-sftp
sous-système :
Subsystem sftp internal-sftp
Et ensuite bloquer les autres utilisations :
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Ajoutez vos utilisateurs au sftponly
groupe. Vous devez changer le répertoire personnel de l'utilisateur en /
à cause du chroot et /home/user
devrait appartenir à root
. Je définirais également /bin/false
comme shell de l'utilisateur.
Solution 2 :
Il y a un shell sconly qu'est-ce que cela fait. Il peut chrooter aussi.
Solution 3 :
Checkout rssh qui est un faux shell qui autorise sftp mais refuse ssh
En savoir plus sur RSSH
http://www.pizzashack.org/rssh/
RPM
http://pkgs.repoforge.org/rssh/
Vous pouvez configurer rssh pour autoriser/refuser différents comportements comme sft, scp etc.
Solution 4 :
Vous pouvez modifier /etc/passwd et donner à cet utilisateur un faux shell afin qu'il ne puisse pas utiliser ssh.