阅读本文大约需要10分钟。成为第一个关注这篇文章或为其添加书签的人,这样您下次就找不到它了。
FTP和SFTP都是文件传输协议,我们知道FTP使用端口20和21,SFTP使用端口22。此外,SFTP 之前的S 必须代表安全。其他差异可能并不明显。
本文将帮助您填补空白,理清FTP 和SFTP 之间的差异,并阐明各自的应用场景。
01 FTP协议
FTP(文件传输协议)是一种主流的文件传输协议,可以提供文件上传和下载功能。
FTP 有两个通道:第一个通道(控制通道)和第二个通道(数据通道)。第一个通道主要用于信令交互,用于协商FTP数据通道的传输模式和传输端口。第二个通道用于文件传输。
FTP有两种发送模式:主动模式和被动模式。这两种模式都是从FTP服务器端考虑的,如果第二个通道是由FTP服务器主动启动的,则称为主动模式。否则称为被动模式。
下图展示了两个FTP通道协商和建立的过程。
(1)FTP客户端主动发起TCP请求,与FTP客户端建立TCP会话。
(2) TCP三次握手后,FTP客户端和FTP服务器在第一个通道上建立TCP会话。
(3)FTP主动模式下,FTP客户端在第二通道上主动向FTP服务器发送数据进行信息协商。在FTP被动模式下,FTP服务器开始在第二个通道上向FTP客户端发送数据进行信息协商。
(4) 至此,第一个通道的工作就完成了。
(5) FTP主动模式下,FTP服务器主动发起TCP请求,与FTP客户端建立TCP会话,建立第二通道。 FTP被动模式下,FTP客户端主动发起TCP请求,并与FTP客户端建立TCP会话。 FTP 客户端。用于建立第二个通道。
(6)第二通道建立后进行FTP数据传输。
FTP 的另一个困难是当FTP 服务器和客户端建立第二个通道时可能会出现问题。该通道受两端网络环境的影响,尤其是有防火墙的。
如果同学想了解更多关于FTP发送方式以及防火墙对FTP发送的影响,请参阅文章《一文讲透防火墙对FTP传输的影响》,该编号为010-30000。我这里就不详细说了。
02 SFTP协议
SFTP(安全文件传输协议)是一种安全文件传输协议,可以为文件传输提供安全的加密通道。
SFTP 作为SSH 的一部分包含在SSH 软件中。 SFTP本身没有单独的守护进程,需要使用sshd守护进程来完成服务器连接和文件传输。 SFTP作为SSH的一个组件而存在,因此SFTP可以直接使用SSH加密通道来发送数据。
在进行SFTP数据传输之前,必须先建立SSH加密通道,如下图所示。
(1) SSH客户端主动发起TCP请求,与SSH服务器建立TCP会话。
(2) SSH客户端和SSH服务器协商认证方式。目前SSH有两种认证方式:密码认证和密钥认证。
(3) 当使用密码认证时,SSH密钥协商过程如下:
SSH服务器主动将自己的公钥发送给SSH客户端。 SSH客户端收到公钥后,使用公钥对登录密码进行加密并发回SSH服务器。 SSH服务器使用私钥解密数据并验证SSH客户端信息的有效性。如果验证通过,则建立连接以进行加密通信。
(4) 当使用密钥认证时,SSH密钥协商过程如下:
SSH客户端主动将自己的公钥发送给SSH服务器。 SSH服务器收到信息后,检查本地授权列表中是否包含SSH客户端的公钥。如果存在,则会生成一个随机数,并使用SSH 客户端的公钥进行加密,生成密文并发回SSH 客户端。 SSH 客户端收到密文后,使用自己的私钥对其进行解密,并将随机数发送回SSH 服务器。 SSH 服务器验证随机数,如果匹配,则身份验证通过并建立连接。
(4) SSH加密通道建立后,SFTP就可以发送数据、上传、下载文件。
03 二者区别
从名称、协议、安全、架构、通道、模式、传输效率、开放与否八个方面比较FTP和SFTP,如下表所示,总结两者的主要区别。
04 应用场景
FTP 明文传输。无需密码。任何人都可以访问它。适用于公共信息库等公共场所,可供用户免费下载。另外,FTP不需要加密或解密,传输效率高,适合企业系统之间需要高速文件传输。
SFTP密文传输需要加解密,安全性高,适合通过公共网络发送企业机密文件或个人信息。同时,SFTP只有一个通道使用22端口。通道协商简单,适合复杂的网络环境,不易出现协商问题。
好了,这就是今天的全部内容。更多信息敬请期待。最后,如果您喜欢本章的内容,别忘了点赞、关注、转发。
-- 如果您喜欢,请不要忘记点击@ITadministration 关注我们--
来自该办公室的精彩文章:
我们有一篇文章介绍了防火墙对Wireshark 数据包分析的影响。在国企IT部门工作是怎样的体验?
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。