我正在尝试将我的 SSH 用户 chroot 到他们的主目录,它似乎工作正常……但方式很奇怪。这是我的 sshd_config 中的内容:
Match group restricthome
ChrootDirectory %h
用户目录的权限如下所示:
drwxr-xr-x 2 root root 1024 May 11 13:45 [user]/
并且我可以看到用户登录成功:
May 11 13:49:23 box sshd[5695]: Accepted password for [user] from x.x.x.x port 2358 ssh2 (with no error messages after this)
但是输入密码后,PuTTY 窗口关闭。
这是一个大胆的猜测,但可能是因为用户的 shell 设置为 /bin/bash,而由于 chroot 而无法执行?如果是这样,您能给我指点如何修复它吗?只需将 bash 二进制文件复制到用户的主目录中并修改 shell 就可以了吗?我该如何处理依赖项,ldd 显示了其中的很多 :)
欢迎提出意见/建议。
谢谢。
答案1
这是一个大胆的猜测,但可能是因为用户的 shell 设置为 /bin/bash,并且由于 chroot 而无法执行?
你的猜测是正确的。当你将用户放入某个chroot
环境中时,他无法访问该环境之外的文件。
有几个脚本可以帮助你chroot
为用户创建完整的环境,例如监狱工具。