共计 1491 个字符,预计需要花费 4 分钟才能阅读完成。
这篇文章主要介绍“linux 中 FTP 与 sftp 的区别有哪些”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux 中 FTP 与 sftp 的区别有哪些”文章能帮助大家解决问题。
区别:1、链接方式不同,FTP 使用 TCP 端口 21 上的“控制连接”建立连接,而 SFTP 通过 SSH 协议(TCP 端口 22)建立连接;2、SFTP 使用加密解密技术来传输数据,安全性比 FTP 高;3、SFTP 的传输效率比 FTP 要低。
本教程操作环境:linux5.9.8 系统、Dell G3 电脑。
在 linux 实际项目开发中最常使用的文件传输的方式有 ftp 和 sftp 两种,但是这两个传输方式各有什么特点呢? 本文接下来将讨论 SFTP、FTP 的区别。
一、FTP 协议
FTP 是 TCP/IP 协议组中的协议之一,TP 协议由两个部分组成:
FTP 服务器(用来存储文件)
FTP 客户端(用户可以使用 FTP 客户端通过 FTP 协议访问位于 FTP 服务器上的资源)
默认情况下 FTP 协议使用 TCP 端口中的 20 和 21 这两个端口。21 端口用于传输控制信息,而是否使用 20 作为传输数据的端口与 FTP 使用的传输模式有关,如果采用被动模式则具体使用哪个端口要服务器端和客户端协商决定。FTP 传输模式分为以下两种:
主动模式(Port)
被动模式(Passive)
1、主动模式
FTP 客户端首先和 FTP 服务器的 TCP21 端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送 PORT 命令。PORT 命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的 TCP 20 端口连接至客户端的指定端口发送数据。
2、被动模式
在建立控制通道与主动模式相似,但建立连接后是 Pasv 命令。FTP 服务器收到 Pasv 命令后便随机打开一个高端端口 (端口号大于 1024) 并且通知客户端在这个端口上传送数据的请求,客户端连接 FTP 服务器此端口,通过三次握手建立通道,然后 FTP 服务器将通过这个端口进行数据的传送。
注意:很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的 FTP 服务器不支持 PASV 模式,因为客户端无法穿过防火墙打开 FTP 服务器的高端端口; 而许多内网的客户端不能用 PORT 模式登陆 FTP 服务器,因为从服务器的 TCP 20 无法和内部网络的客户端建立一个新的连接,造成无法工作。
SFTP 协议
SFTP 是 SSH File Transfer Protocol 的缩写,安全文件传送协议。SFTP 与 FTP 有着几乎一样的语法和功能。SFTP 为 SSH 的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在 SSH 软件包中,已经包含了一个叫作 SFTP 的安全文件信息传输子系统,SFTP 本身没有单独的守护进程,它必须使用 sshd 守护进程 (端口号默认是 22) 来完成相应的连接和答复操作,所以从某种意义上来说,SFTP 并不像一个服务器程序,而更像是一个客户端程序。
SFTP 和 FTP 的主要区别
链接方式:FTP 使用 TCP 端口 21 上的控制连接建立连接。而,SFTP 是在客户端和服务器之间通过 SSH 协议 (TCP 端口 22) 建立的安全连接来传输文件。
安全性:SFTP 使用加密传输认证信息和传输的数据,所以使用 SFTP 相对于 FTP 是非常安全。
效率:SFTP 这种传输方式使用了加密解密技术,所以传输效率比普通的 FTP 要低得多。
关于“linux 中 FTP 与 sftp 的区别有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。