Я хотел бы настроить chroot jail для большинства (не всех) пользователей, входящих через SSH. Я слышал, что это возможно с последними версиями openssh, но я не смог найти, как это сделать. Все руководства говорят о патче старой версии, а патч больше не доступен.
Я использую Debian Etch.
решение1
Для этой цели я использую rssh.
Вы правы, есть новый способ сделать это, и это встроенная функция последних версий SSH.
Вот статья на темуНесмертельно.
решение2
Мне просто нужно было настроить одного пользователя, который мог бы войти через ssh, а ssh — на другой сервер (который не подключен напрямую к внешнему миру). Ссылки cstamas и ericmayo были хорошим началом.
По сути, я добавил в /etc/ssh/sshd_config следующее:
Соответствие пользователя 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.
решение3
mkdir /chroot
mkdir -p /chroot/home/<user_name>
mkdir /chroot/home/<user-name>/bin
cp -pr /bin/bash /chroot/home/<user_name>/bin/.
cp -pr /bin/ls /chroot/home/<user_name>/bin/.
cp -pr /lib64 /chroot/home/<user_name>/.
Вам необходимо отредактировать файл /etc/sshd_config и добавить
ChrootDirectory /chroot/%h
И перезапустите демон sshd.
Несмотря на все вышесказанное, я искренне считаю, что sftp — лучший вариант.
Также я нашел этот URL, если он будет полезен.
решение4
Насколько мне известно, новые версии 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 .