SFTP失败并带有"匹配组"子句

Jon*_*Coe 7 linux ftp ssh ubuntu sftp

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

Match Group sftp
    ChrootDirectory /home/%u
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)

我再也无法连接(根本就是ssh或其他),我收到了消息

Error: Connection refused
Error: Could not connect to server
Run Code Online (Sandbox Code Playgroud)

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

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Run Code Online (Sandbox Code Playgroud)

知道为什么ssh服务器失败了这个"匹配"子句?基本上,一切都在工作,除了"chroot"部分.

Jon*_*Coe 6

好的,解决了这个问题:

2件事都造成了问题

  1. 我不得不将"匹配"子句移动到文件的END,它位于中间
  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
Run Code Online (Sandbox Code Playgroud)

而且,你可以登录并写入/写入."