我正在尝试在运行 Debian 5 的其中一台服务器上设置 jailkit。我为他创建了一个新的 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
当我尝试以 bob 身份通过 ssh 连接时,它会连接,我会收到横幅,然后它就会断开连接。我的 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
我的非监禁用户工作正常,我似乎没有收到任何权限错误。有什么想法吗?
答案1
LogLevel INFO
首先通过 替换 sshd_config 文件中的内容将 SSH 日志转换为 DEBUG3:
LogLevel DEBUG3
您将看到更多有关 SSH 关闭连接的原因的信息。
然后确保您拥有在 chrooted 环境中运行所需的所有 shell:
- 用户主页具有正确的权限
- 所有 shell 都需要在 chroot 目录中启动(shell 可执行文件和所有库)
- 所有组件(例如 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