开发者社区> 知与谁同> 正文

FTPS(基于 SSL 的FTP)与 SFTP(SSH 文件传输协议)对比

简介:
+关注继续查看

SSH File transfer protocol(SFTP)也称为通过安全套接层的文件传输协议File Transfer protocol via Secure Socket Layer, 以及 FTPS 都是最常见的安全 FTP 通信技术,用于通过 TCP 协议将计算机文件从一个主机传输到另一个主机。SFTP 和 FTPS 都提供高级别文件传输安全保护,通过强大的算法(如 AES 和 Triple DES)来加密传输的数据。

但是 SFTP 和 FTPS 之间最显着的区别是如何验证和管理连接。

FTPS

FTPS 是使用安全套接层(SSL)证书的 FTP 安全技术。整个安全 FTP 连接使用用户 ID、密码和 SSL 证书进行身份验证。一旦建立 FTPS 连接,FTP 客户端软件将检查目标 FTP 服务器证书是否可信的。

如果证书由已知的证书颁发机构(CA)签发,或者证书由您的合作伙伴自己签发,并且您的信任密钥存储区中有其公开证书的副本,则 SSL 证书将被视为受信任的证书。FTPS 所有的用户名和密码信息将通过安全的 FTP 连接加密。

以下是 FTPS 的优点和缺点:

优点:

  • 通信可以被人们读取和理解
  • 提供服务器到服务器文件传输的服务
  • SSL/TLS 具有良好的身份验证机制(X.509 证书功能)
  • FTP 和 SSL 支持内置于许多互联网通信框架中

缺点:

  • 没有统一的目录列表格式
  • 需要辅助数据通道(DATA),这使得难以通过防火墙使用
  • 没有定义文件名字符集(编码)的标准
  • 并非所有 FTP 服务器都支持 SSL/TLS
  • 没有获取和更改文件或目录属性的标准方式

SFTP

SFTP 或 SSH 文件传输协议是另一种安全的安全文件传输协议,设计为 SSH 扩展以提供文件传输功能,因此它通常仅使用 SSH 端口用于数据传输和控制。当 FTP 客户端软件连接到 SFTP 服务器时,它会将公钥传输到服务器进行认证。如果密钥匹配,提供任何用户/密码,身份验证就会成功。

以下是 SFTP 优点和缺点:

优点:

  • 只有一个连接(不需要 DATA 连接)。
  • FTP 连接始终保持安全
  • FTP 目录列表是一致的和机器可读的
  • FTP 协议包括操作权限和属性操作,文件锁定和更多的功能。

缺点:

  • 通信是二进制的,不能“按原样”记录下来用于人类阅读,
  • SSH 密钥更难以管理和验证。
  • 这些标准定义了某些可选或推荐的选项,这会导致不同供应商的不同软件之间存在某些兼容性问题。
  • 没有服务器到服务器的复制和递归目录删除操作
  • 在 VCL 和 .NET 框架中没有内置的 SSH/SFTP 支持。

对比

大多数 FTP 服务器软件这两种安全 FTP 技术都支持,以及强大的身份验证选项。

但 SFTP 显然是赢家,因为它适合防火墙。SFTP 只需要通过防火墙打开一个端口(默认为 22)。此端口将用于所有 SFTP 通信,包括初始认证、发出的任何命令以及传输的任何数据。

FTPS 通过严格安全的防火墙相对难以实现,因为 FTPS 使用多个网络端口号。每次进行文件传输请求(get,put)或目录列表请求时,需要打开另一个端口号。因此,必须在您的防火墙中打开一系列端口以允许 FTPS 连接,这可能是您的网络的安全风险。

原文发布时间为:2017-03-26

本文来自云栖社区合作伙伴“Linux中国”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
四十三、文件传输协议FTP、电子邮件、万维网
四十三、文件传输协议FTP、电子邮件、万维网
128 0
一个Windows远程工具,小巧但实用,支持RDP、SSH、SFTP、FTP等多种协议
这是一个C#开发的Windows远程桌面开源项目,它支持RDP、SSH、VNC、Telnet、(S)FTP、RemoteApp、NoMachine和其他应用。
106 0
【计算机网络】应用层 : FTP 文件传输协议 ( FTP 客户端 和 服务器 | FTP 工作原理 | FTP 传输模式 )
【计算机网络】应用层 : FTP 文件传输协议 ( FTP 客户端 和 服务器 | FTP 工作原理 | FTP 传输模式 )
221 0
路由交换基础——FTP文件传输协议
路由交换基础——FTP文件传输协议
229 0
Linux之Centos7版本搭建FTP文件传输协议服务
FTP文件传输协议端口号为 : 22搭建FTP服务器步骤1.检查是否安装 Vsftpd软件[root@lijia ~]# rpm -qa | grep vsftpdvsftpd-3.0.
1779 0
基于ECS使用FileZilla Server建立安全的SSL/TLS FTP
在搭建FTP服务时,由于FTP默认是主动模式,所以当FTP服务器通过互联网访问处在NAT环境下的客户端时,会出现数据通道报错的情况。为了让NAT环境下的用户也可以正常访问FTP服务,所以我们需要将FTP服务器设置成被动模式,让客户端主动发起访问,从而避免NAT的阻挡。
4382 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载