from what i've learned - rbash won't work with sftp. a shell, scp, yes. sftp; no.
probably the best alternative is rssh. it allows for chrooting and specific access to any/all of: scp, sftp, cvs, rdist, and rsync.
the trickiest part is creating per-user chroot "jails", as each jail must contain everything (directory structure and shared libraries) to the binaries you allow to be run (e.g. sftp which usually resides in /usr/libexec/sftp-server). but you can even use "hard links" among the several jails to save the space of having a copy of every shared library in each jail.
from what i've learned - rbash won't work with sftp. a shell, scp, yes. sftp; no.
probably the best alternative is rssh. it allows for chrooting and specific access to any/all of: scp, sftp, cvs, rdist, and rsync.
the trickiest part is creating per-user chroot "jails", as each jail must contain everything (directory structure and shared libraries) to the binaries you allow to be run (e.g. sftp which usually resides in /usr/libexec/sftp-server). but you can even use "hard links" among the several jails to save the space of having a copy of every shared library in each jail.
Old topic, but it is worth putting correct answer here: in order to allow SFTP working with SSH, one need to change the Subsystem in sshd_config: