SFTP服务器:最好使用SSH内部sftp子系统或ProFTPD插件?


11

我受命安装新的SFTP服务器。就其本身而言,这是一个非常简单的操作:仅使用internal-sftp无处不在的SSH服务(带有chrooting)的角色就足以拥有可靠的SFTP服务器。

但是,总是针对同一问题尝试至少两种不同的方法,这是我的本性,我意识到我可以ProFTPD与sftp插件一起使用来执行相同的操作,并具有更多与文件传输相关的更精细选项的好处(例如:带宽限制) )。另一方面,该插件默认情况下不会编译(和捆绑),我想避免(也许)“测试较少”的解决方案。

目前,唯一需要的服务是SFTP。但是,我正在提前播放,我想实现一个不仅可以与SFTP一起使用,而且也可以与FTP / S一起使用的解决方案。

考虑到我将在家庭中使用chroot用户,您觉得更好的解决方案是什么?

  1. 使用SSH internal-sftp和独立的FTP服务器(vsftpdproftpd)进行FTP / S服务
  2. 仅将ProFTPD服务与相关插件一起使用

1
这可能是基于意见的。如果你不使用internal-sftpsshd,你可能会使用SFTP上比deffault端口不同(如果你仍然想sshd的),这是肯定的可用性问题。
Jakuje '16

嗨,谢谢您的输入。我并不是在寻求意见,而是寻求已经评估了上述两种选择的人的最佳实践建议。您指出侦听TCP端口是正确的,但是在此设置中,将其他端口用于SSH并不是问题。
shodanshok '16

1
我不确定“未测试”是否是ProFTPD mod_sftp模块的公正判断;实际上,有许多站点每天都在使用它。
Castaglia '16

感谢您的评论。所以mod_sftp比我更常用吗?大。无论如何,我不会mod_sftp认为它是未经测试的,正是由于这个原因,我使用了引号。我将重新说明问题的这一部分。
shodanshok '16

Answers:


4

SSH的sftp服务器对chroot目录有一些其他要求,即。在某些环境中,用户无法对chroot目录进行写访问,这可能是一个问题。

如果您还需要ftp / ftps,我建议您尝试一下mod_sftp。我们在大约20台服务器上生产了它,这些服务器有1万多个帐户,几乎没有问题(sftp是使用最少的协议)。不利之处可能是它不支持密码身份验证方法,但它支持rsa键和键盘交互功能,因此这仅是非常老的客户端遇到的问题。


20 servers with over 10k accounts-非常感谢您的举报,非常感谢。关于家庭写许可的差异,我已经解决过;)
shodanshok '16

3

这是一个较旧的线程,但我想为将来的读者补充一点,我们多年来一直将服务器配置为将proftpd与mod_sftp结合使用,没有任何问题。我非常喜欢服务的分离,可以对安全性,服务本身和用户管理进行细粒度的控制。

如果还包括sftp_pam模块,则可以使用mod_sftp将proftpd配置为支持一个或两个密码/密钥。这是同时启用这两个功能的示例配置:

# Include all available modules
Include /etc/proftpd/modules.conf

<Global>
  <IfModule mod_sftp.c>
    <IfModule mod_sftp_pam.c>
      SFTPPAMEngine on
      SFTPPAMServiceName sftp
    </IfModule>

    SFTPEngine on
    SFTPLog /var/log/proftpd/sftp.log

    # Configure both the host keys
    SFTPHostKey /etc/ssh/ssh_host_rsa_key
    SFTPHostKey /etc/ssh/ssh_host_dsa_key

    SFTPAuthMethods publickey password keyboard-interactive
    SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u

    # Enable compression
    SFTPCompression delayed
  </IfModule>
</Global>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.