如何在不重新编译 OpenSSH 的情况下保护 SFTP?

Geo*_*Geo 2 linux ssh centos sftp

我想你们中的许多人都有生产环境,并且重新编译像 OpenSSH 这样广泛使用的软件包的选项不是一个选项,至少在所有时间都是如此。Securing SFTP 中的解决方案要求您至少为 CentOS_5.1 重建 OpenSSH。

我希望得到另一种方法来防止我的最终用户(使用 sftp)看不到他们允许的文件夹以外的其他目录。类似于 Windows FTP 服务器中的隔离模式。

经过各种谷歌搜索后,我想看这里,但除了上面的帖子之外我什么也没找到。有任何想法吗?

小智 5

  • OpenSSH 支持基于用户、组或地址的条件配置
  • OpenSSH 还有一个集成的 sftp 服务器,它不依赖 chroot 进行配置、库、...

这种方法不需要对 chroot 进行额外的维护!

它也更安全,因为监狱内不需要可执行文件或库。

将此附加到您的 sshd_config:

Match Group mysftpgroup
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
Run Code Online (Sandbox Code Playgroud)

mysftpgroup UNIX 组中的用户应该不能使用除 SFTP 之外的任何其他 SSH 服务。当然,请针对您的特定配置验证这一点!

请注意,Match 'section' 以新的 Match 部分或配置文件的结尾终止。有关其他选项,请参阅 man sshd_config。谷歌搜索手册页可能会产生一个过时的版本。