添加“匹配组”子句后 sftp/ssh 失败

添加“匹配组”子句后 sftp/ssh 失败

我正在尝试在 EC2 上的 ubuntu/precise 上设置 sftp 服务器。我已成功添加了可以通过 ssh 连接的新用户,但是一旦我添加以下子句:

Match Group sftp
    ChrootDirectory /home/%u
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

我无法再连接(无论是 ssh 还是其他方式),并且我收到消息

Error: Connection refused
Error: Could not connect to server

我能够连接设置为的子系统:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

知道为什么 ssh 服务器会因为这个“Match”子句而失败吗?实际上,除了“chroot”部分之外,其他一切都正常。

答案1

好的,问题解决了:

有两件事导致了问题

  1. 我必须将“匹配”子句移到文件的末尾,它位于中间
  2. 存在权限问题 - 在其他地方找到了解决方案

从:https://askubuntu.com/questions/134425/how-can-i-chroot-sftp-only-ssh-users-into-their-homes

“所有这些麻烦都归因于几个安全问题,详情请见此处。基本上,chroot 目录必须由 root 拥有,并且不能有任何组写入访问权限。太好了。因此,您基本上需要将您的 chroot 变成一个暂存单元,然后您就可以在其中编辑内容。

sudo chown root /home/bob
sudo chmod go-w /home/bob
sudo mkdir /home/bob/writable
sudo chown bob:sftponly /home/bob/writable
sudo chmod ug+rwX /home/bob/writable

然后,您就可以登录并在 /writable 中写入内容了。”

相关内容