FTP和SFTP有什么区别 FTP和SFTP区别是什么

时间:2020-09-24 14:42:15 来源: IT管理局-今日头条


FTP和SFTP都是文件传输协议,我们知道FTP使用的是20和21端口,SFTP使用的是22端口。另外,SFTP前面的S应该是Secure安全的意思。其他的区别可能就不太清楚了。

本文正好能够帮你补齐短板,梳理FTP和SFTP的各方面区别,明确各自的应用场景。

01 FTP协议

FTP(File Transfer Protocol)是主流的文件传输协议,能够实现文件的上传和下载功能。

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

FTP有两种传输模式:主动模式(Active Mode)和被动模式(Passive Mode)。两种模式都是从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会话,用于建立第二信道。

(6)第二信道建立完成后,进行FTP数据的传输。

另外,FTP的难点在于FTP服务器和客户端建立第二通道时可能会有问题,这受制于两端的网络环境,特别是存在防火墙的环境。

如果同学们想详细了解FTP的传输模式和防火墙对FTP传输的影响,可查找本号的《一文讲透防火墙对FTP传输的影响》文章进行学习,这里不再赘述。

02 SFTP协议

SFTP(Secure File Transfer Protocol)一种安全的文件传输协议,能够为文件传输提供安全的加密通道。

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端口,信道协商简单,适用于复杂网络环境中,不容易出现协商问题。

好了,今天就讲到这里,请大家持续关注我们的后续内容哦!最后如果喜欢本章内容请不要忘了进行点赞、关注与转发哦!

关键词:FTP SFTP

关于我们 加入我们 广告服务 网站地图

All Rights Reserved, Copyright 2004-2020 www.ctocio.com.cn

如有意见请与我们联系 邮箱:5 53 13 8 [email protected]

豫ICP备20005723号    IT专家网 版权所有