chroot 出错,无法与用户进行 ssh

chroot 出错,无法与用户进行 ssh

发行版: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 中的文件可供所有人读取,除了您开始时用户所在的组之外。

相关内容