SSH Suporta o chrooting de um usuário SFTP de forma nativa. Você só precisa fornecer
ChrootDirectory
No seu arquivo de configuração sshd, e reinicie o sshd.
Se você está apenas fazendo sftp, então você não precisa fazer mais nada. Infelizmente, isso não funciona para o scp. Para o shell interativo, você precisará copiar binários e nós / dev no chroot.
Um exemplo de configuração, para apenas um usuário, testuser:
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Algumas coisas que você precisa saber, na página do manual sshd_config:
All components of the pathname must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.
Pesquise o ChrootDirectory no man sshd_config para obter mais informações.