Назад | Перейти на главную страницу

Jailkit не разрешает SSH-соединения

Я пытаюсь установить jailkit на одном из моих серверов, на котором работает Debian 5. Я создал нового пользователя ssh (bob) и каталог chroot для него (/ var / www / bob). Я дал chroot параметры extshellplusnet и limitedshell с помощью следующих команд:

jk_init -c /etc/jailkit/jk_init.ini -j /var/www/bob/ extshellplusnet
jk_init -c /etc/jailkit/jk_init.ini -j /var/www/bob/ limitedshell

А потом я его посадил:

jk_jailuser -m -j /var/www/bob bob

Когда я пытаюсь использовать ssh как bob, он подключается, я получаю баннер, а затем он отключается. Мой журнал auth.log выглядит так:

Aug 25 05:04:36 server sshd[29885]: Accepted password for bob from 123.45.6.7 port 50624 ssh2
Aug 25 05:04:36 server sshd[29885]: pam_unix(sshd:session): session opened for user bob by (uid=0)
Aug 25 05:04:36 server jk_chrootsh[29942]: now entering jail /var/www/bob for user bob (1001) with arguments 
Aug 25 05:04:36 server sshd[29885]: pam_unix(sshd:session): session closed for user bob

Мои пользователи, не находящиеся в тюрьме, работают нормально, и я, похоже, не получаю никаких ошибок разрешения. Любые идеи?

Сначала переключите журналы SSH на DEBUG3, заменив в файле sshd_config: LogLevel INFO по LogLevel DEBUG3

Вы увидите дополнительную информацию, почему SSH закрыл соединение.

Затем убедитесь, что у вас есть вся оболочка, необходимая для запуска в chrooted-среде:

  • Дом пользователя находится там с нужными разрешениями
  • Вся оболочка должна быть запущена в каталоге chroot (исполняемый файл оболочки и все библиотеки)
  • Все компоненты, такие как passwd, group, hosts, nsswitch.conf, resolv.conf, shadow, находятся в / var / www / bob / etc.
  • В null псевдоустройство - это каталог / var / www / bob / dev. Вы можете создать его, набрав: mknod /var/www/bob/dev/null c 1 3
  • Затем, если это все еще не работает, я рекомендую вам отладить вашу среду chroot с помощью strace команда.

strace chroot /var/www/bob/ /bin/bash