1) Создается пользователь. В качестве шела указывается /bin/false
2) Добавляется в особую группу, либо, если он будет один такой, то ничего не делаем.
3) в /etc/ssh/sshd_config меняем подсистему sftp:
Удаляем Subsystem sftp /usr/lib/openssh/sftp-server
Добавляем ubsystem sftp internal-sftp
Прописываем правила sshd_config для группы или пользователя:
Для группы
Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
или для одного пользователя
Match User myuser ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
В данном случаем пользователь будет ограничен своим домашним каталогом.
4) Проверить и перезагрузить sshd:
# sshd -t
если все хорошо, то
# systemctl restart sshd
5) Владельцем домашней директории должен быть root, в противном случае будет ошибка:
fatal: bad ownership or modes for chroot directory "/home/%username%"
Ссылка на источник: http://blog.antage.name/posts/sftp-chroot-%D0%B2-%D0%B4%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D1%8E%D1%8E-%D0%BF%D0%B0%D0%BF%D0%BA%D1%83.html