我最近首次安装了 Ubuntu Server,然后安装了 LAMP。我的计划是使用一台单独的计算机来托管我的网站。因此,下一步我想允许 FTP 上传。我听说过 FTP 服务器,并猜测这是打开服务器以进行 FTP 访问所需的步骤(与安装 SSH 服务器以允许 SSH 访问非常相似)。但在安装任何东西之前,我只是尝试使用 FileZilla 通过 sFTP 访问服务器。令我惊讶的是,它成功了。所以我不需要安装任何东西?这是否意味着我已经有一个 FTP 服务器在运行?当我查看允许在 Ubuntu Server 上进行 FTP 访问的教程时,人们推荐 vsftpd。既然我已经可以传输文件,为什么还要安装额外的 FTP 软件?或者这是否让我可以对我的服务器做更多的事情?抱歉,听起来像个完全的初学者,但好吧,我就是 :) 如果有人可以对这个问题进行一些说明,我将不胜感激,这样我就可以感觉到我已经对如何正确设置具有 FTP 访问权限的服务器有了一些了解。
答案1
不。实际上,使用 SFTP 访问效果更好。
有些情况下,老式 FTP 更受欢迎,但它们似乎不适用于您的情况。使用 SFTP 访问即可。
编辑:为了获得更完整的答案,我们需要区分 FTP 和 SFTP 协议以及使用这些协议的服务器软件,例如 openssh 和 proftpd。
如果我们谈论协议,那么有一种用例支持 FTP。也就是说,您需要尽可能少的带宽来匿名访问。FTP 协议允许匿名访问(与 http 非常相似),并且开销非常小,因此允许每个发送的数据包有更大的有效负载(与 rsync 非常相似)。如果您只需要匿名访问,请使用 http 或 WebDAV。如果您只想要较小的开销,请使用 rsync。否则,据我所知没有理由不使用 SFTP。
如果我们谈论的是服务器,那么有充分的理由使用 proftpd(或其他 ftpd)而不是 openssh。虽然 openssh 提供了足够的功能来实现安全的、拒绝 shell 的 SFTP 访问,但功能齐全的 ftpd 提供了您可能需要的更多功能,例如配额支持、带宽限制或基于非系统用户的身份验证。
答案2
sFTP 在 SSH 的基础上提供类似 FTP 的功能。如果 sFTP 能满足您的需求,那么它就是您的首选。普通 FTP 不使用加密,安全性不如 sFTP。
除非您特别需要 FTP 服务器来完成您的工作,否则我建议您坚持使用 sFTP。
看http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol了解更多信息。