温馨提示×

Linux下FileZilla端口转发设置

小樊
35
2025-12-25 20:03:37
栏目: 智能运维

Linux下FileZilla端口转发设置

一、前置说明与方案选择

  • SFTP(SSH):基于SSH,默认端口22,数据通道加密,通常无需额外端口转发即可使用。若需“端口转发”,多指用SSH本地端口转发把本地的某个端口映射到远端服务(如把本地的2121映射到远端的22),然后用 FileZilla 连接本地端口进行 SFTP。
  • FTP/FTPS:基于TCP,控制通道21,数据通道在主动模式为20,被动模式为服务器随机高位端口。若客户端或服务器在 NAT/防火墙 后,需要正确配置被动端口范围并进行端口转发,否则会卡在“目录列表”或数据连接阶段。

二、方案一 SSH本地端口转发(推荐,适用于 SFTP 或安全访问)

  • 建立隧道(Linux 终端执行):
    • 将本地端口2121转发到远端22(SFTP):
      ssh -L 2121:localhost:22 user@remote_server_ip
      
    • 如需转发到远端的其他端口(例如远端某个服务端口8080):
      ssh -L 8080:localhost:8080 user@remote_server_ip
      
    • 保持终端运行以维持隧道;如需后台运行可加 -f -N(注意:后台后无法交互输入密码,建议使用SSH密钥)。
  • FileZilla 站点设置:
    • 协议:SFTP - SSH 文件传输协议
    • 主机:127.0.0.1
    • 端口:2121
    • 登录类型:正常,填入用户名/密码或密钥
    • 连接即可通过本地隧道安全访问远端。

三、方案二 FTP/FTPS 的被动模式与端口转发(适用于传统 FTP)

  • 服务器端(以 vsftpd 为例,需有服务器配置权限):
    • 启用被动模式并固定端口范围(示例范围50000–51000):
      sudo apt install vsftpd    # Ubuntu/Debian 示例
      sudo vim /etc/vsftpd.conf
      # 确保以下配置:
      pasv_enable=YES
      pasv_min_port=50000
      pasv_max_port=51000
      # 如启用 TLS/SSL,配置 ssl_enable=YES 等
      sudo systemctl restart vsftpd
      
  • 中间网络设备(NAT/防火墙)端口转发:
    • 路由器或云安全组放行:
      • 控制通道:外部端口21 → 内部服务器21
      • 被动数据通道:外部端口段50000–51000 → 内部服务器50000–51000
  • FileZilla 客户端设置:
    • 协议:FTP - 文件传输协议FTPS - FTP over TLS
    • 加密:要求使用显式 FTP over TLS(推荐)或相应 FTPS 选项
    • 登录类型:正常
    • 传输设置:勾选被动模式
    • 若服务器不在标准端口,可在“端口”填入服务器实际端口(如2121)。

四、常见问题与排查

  • 连接卡在“目录列表”或数据连接失败(FTP/FTPS):
    • 确认服务器已配置被动端口范围并已在防火墙/NAT放行;客户端已勾选被动模式;必要时在站点管理器中设置“被动模式设置”的外部服务器IP(云主机常见)。
  • 使用 SSH 隧道仍失败:
    • 确认隧道命令在运行且端口未被占用;FileZilla 主机填127.0.0.1、端口填2121;优先使用SSH密钥避免后台隧道无法输入密码。
  • 服务器在 NAT 后提示被动模式配置:
    • 按提示在路由器做21与被动端口段的转发,并在服务器正确设置被动端口范围。

0