使用 ssh 版本 < 4.0 时限制 sftp 文件夹

使用 ssh 版本 < 4.0 时限制 sftp 文件夹

我们的服务器很旧了(写操作系统版本有点尴尬),但情况就是这样,升级操作系统或 ssh 不是一个选项由于某些原因。
uname -a > FreeBSD xxx 4.11-STABLE FreeBSD 4.11-STABLE

问题是一些客户需要每天使用 sftp 上传文件,据我所知,ChrootDirectory由于 ssh 版本较旧,我们无法使用指令限制文件夹:
OpenSSH_3.5p1 FreeBSD-20030924, SSH protocols 1.5/2.0

我在谷歌上搜索时找到了一些替代方案,但大多数都包括修补 openssh,或安装其他程序。例如,pureftpd由于“旧”服务器,我们无法安装。

问题:
有没有在使用时限制文件夹的方法OpenSSH_3.5p1,或者其他一些易于在此服务器上安装的替代方法?
我再说一遍:升级操作系统或 ssh 不是一个选项由于各种原因。
服务器的情况是,我们不能冒险在重新启动时 ssh 无法工作,ssh 是我们实现这一目标的唯一方法。

我觉得有点奇怪,我找不到任何“简单”的解决方案,一定还有很多其他人想要限制文件夹,这也是在我们的服务器更新的日子里。

答案1

您可以随时创建一个 chroot 并在 chroot 内部运行 sshd,而不是让 sshd chroot 本身。

为了实现这一点,您需要创建一个单独的文件系统层次结构,例如/chroot/,它仅包含允许登录所需的二进制文件以及执行这些二进制文件所需的库。您还将创建一个包含 sshd 用户的密码、影子和组文件等。您可能希望为该用户的 sshd 设置一个单独的 IP,或者在单独的端口上运行它。

有一个基本的教程adminarticles.com关于创建一个简单的 chroot。

由于您运行的是 FreeBSD,因此另一个选择是使用内置jail系统。我相信手册页将为您提供设置所需的所有信息 - 它基本上是一个带有一些额外功能的 chrooted 系统,类似于 Solaris 区域。

相关内容