我的任务是安装一个新的SFTP服务器。 实际上,这是一个非常简单的操作:只需使用无处不在的SSH服务(使用chrooting)的internal-sftpangular色就足以拥有可靠的SFTP服务器。
然而,对于同一个问题,至less总是尝试至less两种不同的方法,我意识到我可以使用ProFTPD和sftp插件来做同样的事情,还有更多细化的文件传输相关选项的额外好处(例如:带宽节stream)。 另一方面,这个插件默认不编译(和捆绑),我想避免(也许)“lesstesting”的解决scheme。
目前,唯一需要的服务是SFTP; 然而,我提前玩,我想实现一个解决scheme,不仅可以与SFTP工作,但与FTP / S也。
考虑到我打算在家里用户,你觉得更好的解决scheme是什么?
internal-sftp和独立的FTP服务器( vsftpd或proftpd )进行FTP / S服务 SSH的sftp服务器对chroot目录有一些额外的要求,即。 用户无法在某些环境中写入对chroot目录的访问权限,这可能是一个问题。
如果你还需要ftp / ftps我build议给mod_sftp一个去。 我们正在生产约20台服务器超过10K帐户几乎没有问题(sftp是最less使用的协议)。 缺点可能是它不支持密码authentication方法,但是它支持rsa键和键盘交互,所以对于很老的客户来说只是一个问题。
这是一个较老的线程,但我只是想为将来的读者添加一些我们已经configuration服务器使用proftpd与mod_sftp多年,没有任何问题。 我非常喜欢服务的分离,对安全性,服务本身和用户pipe理进行了细粒度的控制。
如果您还包含sftp_pam模块,则可以将proftpdconfiguration为支持mod_sftp中的一个或两个密码/密钥。 以下是configuration示例,可以启用:
# 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>