Redhat 上的 SFTP、Chroot 问题

Redhat 上的 SFTP、Chroot 问题

我在设置带有 ChrootDirectory 的 sftp 时遇到了问题。我在其他发行版上进行了等效设置,但出于某种原因,我无法让它在 Redhat AMI 上运行。

我的 sshd_config 文件的更改如下:

Subsystem       sftp    internal-sftp

Match Group ftponly
      PasswordAuthentication yes
      X11Forwarding no
      ChrootDirectory %h
      ForceCommand internal-sftp
      AllowTcpForwarding no

我的相关用户的家位于 /home/user,由 root 拥有。与 ftponly 组中的用户连接后,我被置于 / 中,没有任何权限,无法执行任何操作。

sftp bob@localhost
Connecting to localhost...
bob@localhost's password: 
sftp> pwd
Remote working directory: /

我可以与不在 ftponly 组内的用户正常连接。

openssh 版本 5.3

我尝试了不同的权限,以及让用户拥有自己的主目录(出现写入失败:管道损坏错误),到目前为止,似乎没有任何效果。

我确信这是一个权限错误,或者是同样微不足道的事情,但此时我的眼睛开始变得呆滞,任何帮助都将不胜感激。

编辑:

James 和 Madhatter,感谢你们的澄清。chroot 把我放到 / 中让我感到困惑...只是没有仔细考虑。我添加了适当的目录和权限来获取读取权限。另一个关键部分是启用对 chrooted home 的写入权限:

setsebool -P ssh_chroot_rw_homedirs on

以便获得写入权限。我想我现在已经准备好了。谢谢你的帮助。

答案1

ChrootDirectory %h将把用户主目录 chroot 到 /。我可能错了,但你无法执行任何操作的原因是 chroot jail 中不存在必要的支持文件。快速搜索将configure ssh chroot我带到此页面http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229您可以在其中提供必要的文件。

相关内容