Debian 7 无法创建 SFTP 用户

Que*_*ool 6 sftp debian useradd

我有一个 linode,我通过 ssh throw 终端访问。我需要创建一个 sftp 用户,他的默认目录(也是他唯一可以访问的)是/var/www/xxxxxx.com/public_html/directory

现在,我做到了,但是当我尝试连接时,我的管道损坏或连接被对方​​拒绝

我所做的是这样的:

$ adduser --home /var/www/xxxxxx.com/public_html/directory/ username
$ chown username:username /var/www/xxxxxx.com/public_html/directory/
$ chmod 755 /var/www/xxxxxx.com/public_html/directory/
$ nano /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)

/etc/ssh/sshd_config我添加了以下几行

Match User username
   ChrootDirectory /var/www/xxxxxx.com/public_html/directory/
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:这是实际错误

在此处输入图片说明

EDIT2:这是filezilla中的错误

在此处输入图片说明

编辑 3:auth.log

 Oct 15 17:47:11 (none) sshd[361]: fatal: bad ownership or modes for chroot directory "/var/www/xxxxxxxxxxxx.com/public_html/extras_html"
Run Code Online (Sandbox Code Playgroud)

Que*_*ool 2

我解决了。问题是因为我这样做了:

$ chown user:user /var/www/xxxxxx.com/public_html/directory/
Run Code Online (Sandbox Code Playgroud)

我必须做的是:

$chown root:root /var/www/xxxxxx.com/public_html/directory/
Run Code Online (Sandbox Code Playgroud)

然后,在“目录”内,我为具有 777 权限的用户创建了一个目录(这不是更好的方法,但它有效)。

“被同行拒绝”错误是因为 /directory 必须具有 755 权限。