Linux FTP服务器通常支持以下几种文件传输协议:
-
FTP (File Transfer Protocol):
- 标准文件传输协议(RFC 959),默认使用端口21(控制连接)和动态端口(数据连接)。
- 支持两种模式:
- 主动模式(PORT):服务器主动连接客户端的数据端口。
- 被动模式(PASV):客户端连接服务器的数据端口(适用于防火墙/NAT环境)。
-
FTPS (FTP Secure):
- FTP over SSL/TLS(RFC 4217),通过加密保护数据传输。
- 两种实现方式:
- 显式FTPS(FTPES):先通过端口21建立明文连接,再通过STARTTLS命令升级加密。
- 隐式FTPS:直接使用端口990(控制)和989(数据)进行SSL加密(已逐渐淘汰)。
-
SFTP (SSH File Transfer Protocol):
- 基于SSH(Secure Shell)的文件传输协议(RFC 4253),使用端口22。
- SFTP并非FTP的扩展,而是完全不同的协议,通常由OpenSSH的sftp-server提供支持。
-
TFTP (Trivial FTP):
- 简单的无认证文件传输协议(UDP端口69),常用于网络设备固件更新或PXE启动。
- 需单独安装tftpd服务。
-
HTTP/HTTPS:
- 部分FTP服务器(如ProFTPD)支持通过Web接口(如mod_http)提供文件访问。
-
FXP (File eXchange Protocol):
- 允许两台FTP服务器之间直接传输文件(需客户端支持)。
这些协议提供了不同的安全性和功能特性,用户可以根据具体需求选择合适的协议进行文件传输。