我的任务是安装一个新的 SFTP 服务器。就其本身而言,这是一个非常简单的操作:只需使用internal-sftp
无处不在的 SSH 服务(带有 chrooting)的角色就足以拥有可靠的 SFTP 服务器。
然而,我的天性是总是为同一个问题尝试至少两种不同的方法,我意识到我可以使用ProFTPD
sftp 插件来做同样的事情,并具有更精细的文件传输相关选项的额外好处(例如:带宽限制)。另一方面,这个插件默认情况下没有编译(和捆绑),我想避免(也许)“较少测试”的解决方案。
目前,唯一需要的服务是 SFTP;但是,我提前玩了,我想实现一个不仅可以与 SFTP 一起使用,还可以与 FTP/S 一起使用的解决方案。
考虑到我要在他们家中对用户进行 chroot,您认为更好的解决方案是什么?
- 为 FTP/S 服务使用 SSH
internal-sftp
和独立的 FTP 服务器(vsftpd
或)proftpd
- 仅使用带有相关插件的 ProFTPD 服务
SSH 的 sftp 服务器对 chroot 目录有一些额外的要求,即。在某些环境中,用户无法对 chroot 目录进行写访问,这可能是个问题。
如果您还需要 ftp/ftps,我建议您试试 mod_sftp。我们在大约 20 台服务器上使用它,这些服务器拥有超过 10k 的帐户,几乎没有问题(sftp 是使用最少的协议)。缺点可能是它不支持密码验证方法,但它支持 rsa 键和键盘交互,所以它只是非常老的客户端的问题。
这是一个较旧的线程,但我想为未来的读者补充一点,我们多年来一直在配置服务器以使用 proftpd 和 mod_sftp,完全没有问题。我非常喜欢服务的分离提供了对安全性、服务本身和用户管理的细粒度控制。
如果您还包含 sftp_pam 模块,您可以使用 mod_sftp 配置 proftpd 以支持一个或两个密码/密钥。这是启用两者的示例配置: