首页 > 自考资讯 > 自考知识

ftpsftpftps区别,ftp和sftp有什么区别

头条共创 2024-07-05

a10035145d484d54aee38762e7570308~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720776874&x-signature=p7jryH1FUsvt%2BIM3jvLWu1jtUSA%3D 阅读本文大约需要10分钟。成为第一个关注这篇文章或为其添加书签的人,这样您下次就找不到它了。

FTP和SFTP都是文件传输协议,我们知道FTP使用端口20和21,SFTP使用端口22。此外,SFTP 之前的S 必须代表安全。其他差异可能并不明显。

本文将帮助您填补空白,理清FTP 和SFTP 之间的差异,并阐明各自的应用场景。

7dc76abc58d849088a437cb068fb19d7~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720776874&x-signature=ExzzriyD7Nl%2BuZTeOMZIuDHwjOM%3D

01 FTP协议

FTP(文件传输协议)是一种主流的文件传输协议,可以提供文件上传和下载功能。

FTP 有两个通道:第一个通道(控制通道)和第二个通道(数据通道)。第一个通道主要用于信令交互,用于协商FTP数据通道的传输模式和传输端口。第二个通道用于文件传输。

FTP有两种发送模式:主动模式和被动模式。这两种模式都是从FTP服务器端考虑的,如果第二个通道是由FTP服务器主动启动的,则称为主动模式。否则称为被动模式。

下图展示了两个FTP通道协商和建立的过程。

129b711b4b164383ad05bfc6a05bb286~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720776874&x-signature=YhK%2FX7v8FXERwnEZCq%2FIvaP4wr4%3D (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加密通道,如下图所示。

7c89d067ac3e440fa23922a06fef6b8a~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720776874&x-signature=%2FyZRSlYsSoSFI0gkf%2BM4Xwkt02Q%3D (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,如下表所示,总结两者的主要区别。

119775ad3f1b418fbf5f42a652a5b225~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720776874&x-signature=QxoYLYZaKmYobpT%2FHVfEJMh0MG4%3D

04 应用场景

FTP 明文传输。无需密码。任何人都可以访问它。适用于公共信息库等公共场所,可供用户免费下载。另外,FTP不需要加密或解密,传输效率高,适合企业系统之间需要高速文件传输。

SFTP密文传输需要加解密,安全性高,适合通过公共网络发送企业机密文件或个人信息。同时,SFTP只有一个通道使用22端口。通道协商简单,适合复杂的网络环境,不易出现协商问题。

好了,这就是今天的全部内容。更多信息敬请期待。最后,如果您喜欢本章的内容,别忘了点赞、关注、转发。

-- 如果您喜欢,请不要忘记点击@ITadministration 关注我们--

来自该办公室的精彩文章:

我们有一篇文章介绍了防火墙对Wireshark 数据包分析的影响。在国企IT部门工作是怎样的体验?

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢