En versiones posteriores de ssh 4.9 es posible hacer chroot (jail) a una cuenta de sftp (scp) mediante el propio servisor ssh (sshd). Por ejemplo, Centos 6.X o 7.X.
En este caso hay que usar el internal-sftp del ssh daemon en lugar del sftp-server.
Pasos a seguir:
# groupadd sftpusers
# useradd -g sftpusers -d /sftp/guestuser/incoming -s /sbin/nologin guestuser # passwd guestuser
Modificar:
# usermod -g sftpusers -d /sftp/otroguestuser/incoming -s /sbin/nologin otroguestuser
Editar etc/ssh/sshd_config y comentar el ftp-server y habilitar el internal-sftp
#Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp
Añadir al final de /etc/ssh/sshd_config
Match Group sftpusers ChrootDirectory /sftp/%u ForceCommand internal-sftp
# mkdir /sftp # mkdir /sftp/guestuser # mkdir /sftp/guestuser/incoming
# chown guestuser:sftpusers /sftp/guestuser/incoming
El resto de directorios, tendrán permisos de root.
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
# service sshd restart
Mas info:
http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/