SSH-ChrootDirectory 不工作

SSH-ChrootDirectory 不工作

我正在尝试将“测试”用户(组 sftp)chroot 到 /home/test。我在 sshd_config 末尾添加了以下几行:

Subsystem sftp internal-sftp

Match User test
    ChrootDirectory /home/test
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

hometest目录具有 755 权限,且归 root 所有。我也尝试过ChrootDirectory /home

root@Debian:/# namei -l /home/test
f: /home/test
drwxrwxrwx root root /
drwxr-xr-x root root home
drwxr-xr-x root root test

我无法通过 SFTP 或 SSH 连接到服务器(无论是否包含Subsystem sftp internal-sftpForceCommand internal-sftp。我一登录就收到以下消息:

Write failed: Broken pipe

...以下内容附加到 auth.log:

May 12 13:48:29 Reach sshd[25503]: Accepted password for test from 192.168.0.10 port 51058 ssh2
May 12 13:48:29 Reach sshd[25503]: pam_unix(sshd:session): session opened for user test by (uid=0)
May 12 13:48:29 Reach sshd[25505]: fatal: bad ownership or modes for chroot directory component "/"
May 12 13:48:29 Reach sshd[25503]: pam_unix(sshd:session): session closed for user test

显然,问题在于它试图将根目录切换到“/”,而它应该是“/home/test”。我遗漏了什么?我已将 sshd_config 的其余部分保留为默认值,并且没有其他 ChrootDirectory 指令...

谢谢。

答案1

您的权限/太开放了。
我不知道您是怎么得到这个权限的。
应该是0755
所以您需要更改它。

其余部分看上去还不错。

相关内容