我试图在EC2上的ubuntu / exact上设置一个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服务器失败了这个“匹配”子句?基本上,除了“chroot”部分之外,一切都在工作.
解决方法
好的,解决了这个问题:
2件事都造成了问题
>我不得不将“匹配”子句移动到文件的END,它位于中间
>存在权限问题 – 在其他地方找到了修复它的答案
来自: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
而且,你可以登录并写入/写入.“