无法使用新的非 shell 用户登录 sftp

无法使用新的非 shell 用户登录 sftp

序言:我使用的是旧版 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

現在正在工作

亲子鉴定解决方案:https://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on-ubuntu-16-04

相关内容