FTPS和SFTP有什么区别?
在为员工设置远程文件传输功能时,您希望事情变得尽可能简单和安全。考虑到这一点,FTPS或SFTP哪个更好?今天的“超级用户问答”帖子为读者提供了一个好奇的问题的答案。
今天的问答环节由SuperUser提供,这是Stack Exchange的一个分支,Stack Exchange是由社区驱动的Q&A网站分组。
屏幕截图由kojihachisu(Flickr)提供。
问题
SuperUser阅读器user334875想知道FTPS和SFTP之间的区别是什么,哪个更好:
我正在尝试为我的四个远程工作的员工建立一个系统,以便他们可以传输文件。我也需要确保它的安全。 SFTP比FTPS更好吗?两者有什么区别?
两者之间有什么区别,哪个更好?
答案
超级用户贡献者NuTTyX和Vdub为我们找到了答案。首先,NuTTyX:
它们是两种完全不同的协议。
为了安全起见,FTPS是具有SSL的FTP。它使用控制通道并打开新的连接以进行数据传输。由于使用SSL,因此需要证书。
SFTP(SSH文件传输协议/安全文件传输协议)被设计为SSH的扩展,以提供文件传输功能,因此它通常仅将SSH端口用于数据和控制。
在大多数SSH服务器安装中,您将获得SFTP支持,但是FTPS需要对受支持的FTP服务器进行其他配置。
接下来是来自Vdub的答案:
FTPS(FTP / SSL)是一个名称,用于提供FTP软件执行安全文件传输的多种方式。每种方式都涉及在标准FTP协议之下使用SSL / TLS层来对控制和/或数据通道进行加密。
优点:
- 广为人知和使用
- 交流可以被人类阅读和理解
- 提供服务器到服务器文件传输的服务
- SSL / TLS具有良好的身份验证机制(X.509证书功能)
- 许多Internet通信框架都内置了对FTP和SSL / TLS的支持
缺点:
- 没有统一的目录列表格式
- 需要辅助数据通道,这使得在防火墙后面很难使用
- 没有为文件名字符集(编码)定义标准
- 并非所有的FTP服务器都支持SSL / TLS
- 没有获取和更改文件或目录属性的标准方法
SFTP(SSH文件传输协议)是一种网络协议,可在任何可靠的数据流上提供文件传输和操作功能。它通常与SSH-2协议(TCP端口22)一起使用,以提供安全的文件传输,但也打算与其他协议一起使用。
优点:
- 具有良好的标准背景,可以严格定义大多数(如果不是全部)运营方面
- 仅具有一个连接(不需要DATA连接)
- 连接始终是安全的
- 目录列表是统一的,并且机器可读
- 该协议包括用于权限和属性操纵,文件锁定以及更多功能的操作
缺点:
- 通信是二进制的,不能“按原样”记录下来以供人类阅读
- SSH密钥更难管理和验证
- 这些标准将某些事物定义为可选的或推荐的,这导致来自不同供应商的不同软件标题之间存在某些兼容性问题。
- 没有服务器到服务器的复制和递归目录删除操作
- VCL和.NET框架中没有内置的SSH / SFTP支持
有什么要补充的解释吗?在评论中听起来不错。是否想从其他精通Stack Exchange的用户那里获得更多答案?在此处查看完整的讨论线程。