Мне просто нужно было настроить одного пользователя, который мог бы войти через ssh и ssh на другой сервер (который напрямую не связан с внешним миром). Ссылки cstamas и ericmayo были хорошим началом.
По сути, я добавил следующее в / etc / ssh / sshd_config:
Match Пользователь myuser
ChrootDirectory / chroot / myuser
После этого мне просто нужно было создать среду chroot ниже / chroot / myuser. Я скопировал / bin / bash и / usr / bin / ssh и необходимые им общие библиотеки (ldd покажет их). Для большей среды, вероятно, имеет смысл компилировать статически связанные версии необходимых исполняемых файлов.
Bash работал сразу, чтобы ssh работал, мне также пришлось создать каталог .ssh, скопировать / etc / passwd, /etc/nsswitch.conf и / lib / libnss_ * и создать / dev / null, / dev / tty и / dev / urandom через mknod.
Насколько я знаю, новые версии OpenSSH разрешают использовать chroot только для SFTP-соединений. Я пытался, и это работает. Но для SSH доступным решением является исправление chrootssh. Я просматриваю сайт SourceForge и нет файлов, поэтому я думаю, что больше не поддерживается.
Для Debian Etch здесь есть несколько файлов: http://debian.home-dn.net/etch/ssh/
Здесь есть и другие решения: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html , включая chrootssh.
источник