并且我可以成功登录 sftp,但登录后,默认文件夹是“/”,并且无法在“/”下创建文件夹。我想要的是当用户登录 sftp 时,默认文件夹是用户主目录,例如“/home/sftp_user”,并且可以在“/home/sftp_user”下创建文件夹
/etc/ssh/sshd_config 如下:
Subsystem sftp internal-sftp
Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
/home目录下的访问权限如下:
drwxr-xr-x 4 root root 4096 Nov 19 17:59 .
drwxr-xr-x 20 root root 4096 Oct 30 2023 ..
drwxr-x--- 35 abc abc 4096 Nov 20 18:28 abc
drwxrwxrwx 8 sftp_user sftp 4096 Nov 20 18:32 sftp_user
如果我将 ChrootDirectory /home 更改为 %h,那么当登录 sftp [email protected]
它返回“client_loop: send disconnect: Broken pipe”。我在 google 上搜索,发现 ChrootDirectory 必须由 root 拥有,并且其他人无法写入,但如果其他人无法写入,那么我如何在 ChrootDirectory 下创建目录?
在教程https://www.cybrosys.com/blog/how-to-setup-sftp-server-on-ubuntu-20-04中,
子系统是Subsystem sftp /usr/lib/openssh/sftp-server
但我看过很多其他教程,子系统是
Subsystem sftp internal-sftp
我应该用什么?