我正在尝试在EC2上的ubuntu / precision上设置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”部分之外,一切都在工作。
答案 0 :(得分:6)
好的,解决了这个问题:
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
然后,你可以登录并写入/写入。“
答案 1 :(得分:2)
确保/ home和/ home /%u是root用户:root。