我正在尝试在ubuntu /精确的EC2上build立一个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件事导致了一个问题
来自: 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
而巴姆,你可以login和写入/写入。“