![chroot 出错,无法与用户进行 ssh](https://linux22.com/image/57316/chroot%20%E5%87%BA%E9%94%99%EF%BC%8C%E6%97%A0%E6%B3%95%E4%B8%8E%E7%94%A8%E6%88%B7%E8%BF%9B%E8%A1%8C%20ssh.png)
发行版:Scientific Linux 6.5 (Carbon),不完全是典型的 Linux 品牌。
尝试使用 chroot 用户这些说明对于 SSH,显然失败了,现在我什至无法使用该用户登录。我检查了/var/log/secure
一下是否可以阐明这一点,然后我得到了以下信息。
: Address aaa.bbb.ccc.ddd maps to "A_Certain_Computer"
: Accepted password for student.fesns from aaa.bbb.ccc.ddd port ##### ssh2
: pam_unix(sshd:session): session opened for user student.fesns by (uid=0)
: error: /dev/pts/2: No such file or directory
: error: open /dev/tty failed - could not set controlling tty: No such file or directory
: pam_unix(sshd:session): session closed for user student.fesns
我检查了这两个文件,它们确实存在。然后,我尝试恢复我为尝试 chroot 用户所做的更改,因此主目录返回到/home/User
,并且启动脚本设置为 ot /bin/bash
,并且我删除了代码部分/etc/ssh/sshd_config
以将其恢复为原始设置。
此时我完全迷失了。任何见解将不胜感激。
新资讯 我还添加了另一个用户并能够成功登录。然后我将其组更改为第一个用户的组,然后它执行与第一个用户相同的操作。
之后我删除并重新创建了该组,仍然无法登录。然后我将用户和测试帐户更改为不同的组,并且工作正常。
....所以我想这已经解决了,但是到底发生了什么?
更新
好吧,那我今天又回来了。在给一切一个干净的石板后,使用了几乎相同的说明。使用 make_chroot_jail.sh 脚本创建环境。更改/etc/ssh/sshd_config
以便它能够 chroot 到 chroot 文件夹。
文件夹方案:/home/chroot/{bin,dev,etc,home,lib,lib64,sbin,usr}
我还确认了 dev 文件夹包含 tty 字符设备,此外,我了解到 pts 项目无法正常调用,因为它们并不是真正的文件或其他东西。无论如何,遵循该指导,并重新启动服务,然后我得到以下内容,而不是原来的错误。
: error: /dev/pts/1: Permission denied
: error: open /dev/tty failed - could not set controlling tty: Permission denied
不过今天时间到了,我将尝试释放这两个文件的权限,但这有点违背了执行 chroot 的部分目的。
答案1
尝试“mount --bind”以下目录。确保先执行 /dev,然后执行 /dev/pts。
root-shell> mount --bind /dev /var/jail/dev
root-shell> mount --bind /dev/pts /var/jail/dev/pts
问候,大卫
答案2
根据您对解决方案的描述,您在设置 chroot 时一定在组权限方面犯了一些错误。由于您已经删除并重新创建了所有内容,因此很难弄清楚它到底是什么。据猜测,您已成功创建设置,其中 chroot 中的文件可供所有人读取,除了您开始时用户所在的组之外。