通过 SSH 进行 sftp chroot 访问

通过 SSH 进行 sftp chroot 访问

我在 sshd_config 中有这样的设置:

AllowUsers test1 test2

Match group sftpgroup
         ChrootDirectory /var/www
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

Match user test2
         ChrootDirectory /var/www/somedomain.dk
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

我正在尝试限制测试2仅使用/var/www/somedomain.dk

由于某种原因,当我尝试使用 Filezilla 帐户登录时测试2我收到此错误:“服务器意外关闭网络连接

用户已创建并运行。SSH 服务已停止并启动。测试1使用 filezilla 等时有效,并且连接的根是/var/www。 我究竟做错了什么?

答案1

如果 Cudos 提供的答案对您没有帮助,而且我也不认为它会有帮助(没冒犯的意思),请尝试这个:

chown root:root /your/chroot/home
chmod 700 /your/chroot/home
chown user:sftpgroup /your/chroot/home/userdir
chmod 755 /your/chroot/home/userdir

请记住:您的用户将无法在他们的“根”中写入,您需要为他们创建一个目录以供使用。

答案2

感谢您让我注意到 SSH 的这个功能。

以下 Debian 管理文章指出目标目录必须由 root 拥有 - 也许 /var/www/somedomain.dk 不是。

http://www.debian-administration.org/articles/590

相关内容