FTP(File Transfer Protocol,文件传输协议)是互联网上最早的文件传输标准协议之一,诞生于1971年。它的核心作用是让用户可以在两台计算机之间传输文件。
如果你是文件传输领域的新手,了解FTP和SSH(SFTP)协议的基本概念可以帮助你更好地理解和使用FileZilla等FTP客户端。本文介绍这两种协议的核心概念。
FTP(File Transfer Protocol,文件传输协议)是互联网上最早的文件传输标准协议之一,诞生于1971年。它的核心作用是让用户可以在两台计算机之间传输文件。
FTP使用客户端-服务器模型:
FTP使用两个端口进行通信,这是它与其他协议最大的不同:
这种双端口设计导致FTP在穿越防火墙和NAT设备时经常遇到问题。这也是被动模式(PASV)和主动模式(PORT)概念的来源。
标准FTP协议不加密通信内容,包括用户名、密码和文件数据都以明文形式传输。这意味着网络中的任何中间人都可以截获这些信息。因此,在公网环境下不建议使用标准FTP传输敏感数据。
SSH(Secure Shell,安全外壳协议)是一种加密的网络协议,主要用于安全地远程登录和执行命令。与FTP不同,SSH从一开始就设计了强加密机制。
SSH的核心特性:
SFTP(SSH File Transfer Protocol)是基于SSH协议的文件传输协议。尽管名字中包含"FTP",但它与标准FTP是完全不同的协议,只是功能类似。
SFTP的重要特性:
| 特性 | FTP | SFTP |
|---|---|---|
| 加密 | 无 | 全加密 |
| 端口 | 21+20 | 22 |
| 防火墙 | 难配置 | 易配置 |
| 认证 | 仅密码 | 密码或密钥 |
| 速度 | 略快 | 略慢(加密开销) |
| 推荐场景 | 内网 | 公网 |
FileZilla Client 是一款免费开源的FTP软件,它同时支持以下协议:
在FileZilla的站点管理器中新建站点时,你可以在"协议"下拉菜单中选择合适的协议。对于大多数现代服务器,推荐选择SFTP并使用SSH密钥认证。
想了解更详细的协议对比,请查看 FTP vs SSH 完整对比。