Debian 7 无法创建 SFTP 用户

Debian 7 无法创建 SFTP 用户

我有一个 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

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

Match User username
   ChrootDirectory /var/www/xxxxxx.com/public_html/directory/
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

我究竟做错了什么?

编辑:这是实际的错误

在此输入图像描述

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"

答案1

这个问题已经回答过很多次了,但现在找不到了。答案是RTFM。

长话短说:从man sshd_config你可以得到这句话:

Chroot目录

指定身份验证后 chroot(2) 的目录路径名。 路径名的所有组成部分必须是 root 拥有的目录,任何其他用户或组都不可写入。 chroot 后,sshd(8) 将工作目录更改为用户的主目录。

其中为您的错误消息提供了解释。修复路径上的 ACL 将解决您的问题。

答案2

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

$ chown user:user /var/www/xxxxxx.com/public_html/directory/

我必须做的是:

$chown root:root /var/www/xxxxxx.com/public_html/directory/

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

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

相关内容