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)
我解决了。问题是因为我这样做了:
$ 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 权限。