我正在尝试在我的 ubuntu 服务器上设置 SFTP,但遇到了一个问题。当我在 sshd_config 文件中设置一个组以将用户 chroot 到他们的主目录时,该组中的用户无法通过 SSH 访问服务器,并且会出现此错误“软件导致连接中止”,有时还会出现“未找到目录”。
我很确定这与权限有关,但我不确定是什么。我已经禁用了 UFW 进行测试,所以不是这个原因。任何帮助都将不胜感激。谢谢。
以下是我添加到 sshd_config 文件的内容:
Match Group webadmins
ChrootDirectory %h
X11Forwarding no
AllowTopForwarding no
我留下了这最后两条评论,因为我只关心 ChrootDirectory。
答案1
如果您要对用户进行 chroot,则应ForceCommand internal-sftp
在每个主目录中使用或设置 shell(以及它所需的一切)。如果上述操作均未完成,则 SSH 将无法登录用户。
答案2
您正在 chroot 的目录(在您的例子中为 %h)应该由用户 root 拥有。使用命令sudo chown root.root %h