我一直在尝试在 debian 服务器中配置 sftp。sshd_config:
Subsystem sftp internal-sftp
UsePAM no
Match User sftpUser
ChrootDirectory /users/sftp/sftpUser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
目录:
drwxr-xr-x 3 root root 4096 Oct 20 10:59 users
drwxr-xr-x 3 root root 4096 Oct 20 11:00 sftp
drwxr-xr-x 2 root root 4096 Oct 20 11:00 sftpUser
Run Code Online (Sandbox Code Playgroud)
cat /var/log/auth.log
Oct 20 10:58:22 w1 sshd[24634]: Accepted password for sftpUser from 201.156.103.213 port 34106 ssh2
Oct 20 10:58:22 w1 sshd[24636]: fatal: bad ownership or modes for chroot directory component "/"
Run Code Online (Sandbox Code Playgroud)
sftpUser 无家,bin/false用户组成员。
在客户端,我得到了著名的Write failed: Broken pipe,然后连接断开。ChrootDirectory在 sshd_config 中注释该命令会建立连接,但会导致用户松散。
我究竟做错了什么 ?
Jak*_*uje 11
使用ChrootDirectoryoption insshd_config需要对书面文本有一些基本的了解。
这是手册页的快照sshd_config(5):
根目录
指定
chroot(2)认证后的目录路径名。 路径名的所有组成部分都必须是任何其他用户或组不可写的根目录。在 chroot 之后,sshd(8)将工作目录更改为用户的主目录。
这是您的错误日志:
fatal: bad ownership or modes for chroot directory component "/"
Run Code Online (Sandbox Code Playgroud)
这意味着您需要确保满足引用中强调的部分:您/需要由 root 拥有并且w只有所有者拥有acl。