Jailkit 不允许 SSH 连接

Jailkit 不允许 SSH 连接

我正在尝试在运行 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

相关内容