pure-ftpd 开启 Passive Mode

前提

  • FTP客户端:WinSCP
  • Centos 7.8 (64位)
  • pure-ftpd

WinSCP 开启 Passive Mode

pure-ftpd 开启 Passive Mode

  1. pure-ftpd 配置文件路径:
  • 使用宝塔安装 pure-ftpd,路径则为:
1
/www/server/pure-ftpd/etc/pure-ftpd.conf

当然,也可以在宝塔面板操作:

  • 直接在 CentOS 下安装 pure-ftpd,路径则为:
1
/etc/pure-ftpd/pure-ftpd.conf
  1. 修改 配置文件 pure-ftpd.conf

找到如下内容:

pure-ftpd.conf
1
2
3
# Port range for passive connections replies. - for firewalling.

PassivePortRange 39000 40000

注意:

如果上方 PassivePortRange 39000 40000 被注释,需要取消注释,

注意:笔者测试过更换端口范围(3000 4000),然而会导致超时连接,不知道为何,

所以请使用默认端口范围(39000 40000),

  1. 阿里云ECS -> 配置安全组规则 -> 入、出方向 放行 39000/40000

当然,使用 FTP ,首先肯定要放行 21 端口,这里不多阐述。

  1. 重启 pure-ftpd 服务
  • 宝塔面板:
  • 命令
1
service  pure-ftpd  restart

补充:

参考:Pure-Ftpd · 宝塔面板手册 · 看云

1
2
3
4
5
/etc/init.d/pure-ftpd start    #启动pure-ftpd    
/etc/init.d/pure-ftpd stop #停止pure-ftpd
/etc/init.d/pure-ftpd restart #重启pure-ftpd
/etc/init.d/pure-ftpd reload #重载pure-ftpd
/etc/init.d/pure-ftpd status #查看pure-ftpd当前运行状态

补充

WinSCP 无法连接 pure-ftpd(Passive Mode)

参考:

1
Server sent passive reply with unroutable address 172.16.206.241, using host address instead.

解决:

pure-ftpd.conf 找到 ForcePassiveIP ,取消注释,修改 ip 地址为所在公网IP。

pure-ftpd.conf
1
2
3
4
5
# Force an IP address in PASV/EPSV/SPSV replies. - for NAT.
# Symbolic host names are also accepted for gateways with dynamic IP
# addresses.

ForcePassiveIP 120.14.213.35

120.14.213.35 为 阿里云ECS 公网IP地址

重启 pure-ftpd 服务即可。

超时连接

1
2
3
Timeout detected. (data connection)
Could not retrieve directory listing
Error listing directory '/'.

解决:

不知道为何使用 3000 4000,就会出现如上图无法连接,使用默认端口范围即可

pure-ftpd.conf
1
2
3
# Port range for passive connections replies. - for firewalling.

PassivePortRange 39000 40000

参考

感谢帮助!