我正在尝试让 sftp 在 Centos 6.5 服务器上使用正确的 chroot 配置工作。目前我得到:
sftp [email protected]
[email protected]'s password:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
在 /var/log/messages 中我得到:
Connection from 000.000.000.000 port 52365
Accepted password for User from 000.000.000.000 port 52365 ssh2
User child is on pid 0000
fatal: bad ownership or modes for chroot directory component "/"
/etc/ssh/sshd_config 中的用户部分:
Match User User
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /sftp/user
/sftp 和 /sftp/user 都设置为 root:root 和 755。据我理解,错误消息表明 chroot 尝试使用“/”作为目录,而不是“/sftp/user”。为什么会这样?我该怎么做才能修复它?感谢您提供任何想法。
答案1
ls -lad /
rwxr-xr-x. 30 509 users 4096 Oct 23 13:56 /
显示 root 属于不存在的用户和用户组。简单的 chown 解决了这个问题。
chown root:root /