序言:我使用的是旧版 Ubuntu 14。抱歉。
我创建了一个新用户
sudo adduser --shell /bin/false alessandra
我现在有/home/alessandra
mirko@ubuntu:/home$ ls -la
... [cut] ...
drwxr-xr-x 3 alessandra alessandra 4096 Nov 26 10:54 alessandra
... [cut] ...
我添加了这个
sudo vim /etc/ssh/sshd_config
Match User alessandra
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /home/alessandra
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
当我使用 SFTP 连接时,登录正常,但随后我收到(在 FileZilla 上)
Error: FATAL ERROR: Network error: Software caused connection abort
所以我查看了日志文件,看到了这个
=> /var/log/auth.log <==
Nov 26 11:09:55 ubuntu sshd[12401]: fatal: bad ownership or modes for chroot directory "/home/alessandra"
Nov 26 11:09:55 ubuntu sshd[12368]: pam_unix(sshd:session): session closed for user alessandra
为什么 sshd 告诉我所有权错误?
我该如何修复?
答案1
我决定创建一个单独的文件夹来 chroot 到
sudo mkdir -p /var/sftp/alessandra
sudo chown root:root /var/sftp
sudo chmod 755 /var/sftp
sudo chown alessandra:alessandra /var/sftp/alessandra
然后在 sshd_config 中我将更改根行更改为这样
ChrootDirectory /var/sftp
現在正在工作