![efb04b38e1cf8ebea6982cbe299a590c.png](https://i-blog.csdnimg.cn/blog_migrate/39c2cea9d05df7402d1d6c158562dffe.png)
![4e89a2e4790aa589223e6057f99dca88.gif](https://i-blog.csdnimg.cn/blog_migrate/89fa2bb4d67fe6f35648c76bff75c12d.gif)
![63a57959550b8e5f517a022ca6f82764.gif](https://i-blog.csdnimg.cn/blog_migrate/bff33a25a4decbdc4edf7bcce1455c82.gif)
了解嵌入式系统,就点上方蓝字关注我们
![63a57959550b8e5f517a022ca6f82764.gif](https://i-blog.csdnimg.cn/blog_migrate/bff33a25a4decbdc4edf7bcce1455c82.gif)
FTP、FTPS与SFTP简介 |
FTP 的工作原理
FTP 连接需要 FTP 服务器和客户端两方在网络上建立通信。 建立 FTP 连接时会有两个不同的通信通道。一个被称为命令通道,它的作用是发出和响应指令。另一个为数据通道,用于客户端和服务器端进行数据交互。 使用 FTP 传输文件时,用户需要通过向 FTP 服务器提供凭据来获得文件传输许可。当然某些公共 FTP 服务器可能不需要凭据即可访问其文件,但是无法保证数据传输的安全性,任何未加密公共网络上的数据发送都是非常危险的。所以为了保护传输数据的安全,由 FTP 衍生而出的就是下面的两种协议:FTPS 与 SFTP。FTPS
接下来小熠君查询了一下,发现 FPTS 有 FTPS 隐式 SSL 和 FTPS 显示 SSL 两种模式,两者都是用 SSL 加密。那么两者有什么区别呢?- FTPS 隐式 SSL:该模式通常在端口 990 上运行。在这个模式下全部数据的交换都需要在客户端和服务器之间建立 SSL 会话,并且服务器会拒绝任何不使用 SSL 进行的连接尝试。
- FTPS 显式 SSL:显示 SSL 下服务器可以同时支持 FTP 和 FTPS 会话。开始会话前客户端需要先建立与 FTP 服务器的未加密连接,并在发送用户凭证前先发送 AUTH TLS 或 AUTH SSL 命令来请求服务器将命令通道切换到 SSL 加密通道,成功建立通道后再将用户凭证发送到 FTP 服务器,从而保证在会话期间的任何命令都可以通过 SSL 通道自动加密。
SFTP
最后大家来一起看看 SFTP,SFTP 是 Secure File Transfer Protocol 的缩写,也叫作安全文件传送协议。 如果说 FTPS 是在 FTP 协议上增加了一层 SSL ,那么 SFTP 就是是基于网络协议SSH(安全外壳)的协议与前面所说的 FTP 完全不同。SFTP 不使用单独的命令通道和数据通道,而是数据和命令都会通过单个连接以特殊格式的数据包进行传输。SFTP 提供了两种验证连接的方法。
与 FTP 一样,连接时只需要验证用户 ID 和密码就可以了。但是,与FTP不同的是,这些凭据是加密的,这是 SFTP 最主要的安全优势。
除密码外,还可以通过 SSH 密钥来验证并通过 SFTP 协议连接。
FTP主、被动模式 |
主动模式
一般 FTP 的默认模式就是主动模式,也称为 port 模式。 它是通过两个步骤来进行工作的:- 首先客户端上的随机端口与服务器上的 FTP 端口 21 建立命令通道,客户端发送 PORT 命令,指定服务器与客户端其中一个端口连接,并建立数据通道。
- 然后服务器从端口 20 连接到为数据通道指定的客户端端口。建立连接后,即可通过这些客户端和服务器端口进行文件传输。
被动模式
在传输方式栏,你还可以手动调整为被动传输模式,在该模式下用户端进行文件传输时,会先通过随机端口 A 连接到服务器上的端口 21,并发出 PASV 命令建立命令通道,告诉服务端这次是被动模式连接。之后服务器会打开一个随机端口用于数据传输,而客户端通过与发出命令的端口不同的随机端口 B 建立数据通道,从而进行文件传输。来源 | 知乎
![b1c5ea0ecc16525f70f008c5f3c0860d.gif](https://i-blog.csdnimg.cn/blog_migrate/7e97817b732572accdfc9ae66d21ab18.gif)
●奋起直追的国产实时操作系统!
●国产嵌入式操作系统发展思考!
●10个大幅度提升编程技能的技巧!
●必知的 89 个操作系统核心概念!
![efb04b38e1cf8ebea6982cbe299a590c.png](https://i-blog.csdnimg.cn/blog_migrate/39c2cea9d05df7402d1d6c158562dffe.png)
![4e89a2e4790aa589223e6057f99dca88.gif](https://i-blog.csdnimg.cn/blog_migrate/89fa2bb4d67fe6f35648c76bff75c12d.gif)