pure-ftpd 开启 Passive Mode

前提 FTP客户端:WinSCP Centos 7.8 (64位) pure-ftpd (笔者这里是使用 宝塔面板 安装的) WinSCP 开启 Passive Mode pure-ftpd 开启 Passive Mode
    pure-ftpd 配置文件路径:
使用宝塔安装 pure-ftpd,路径则为:
1
/www/server/pure-ftpd/etc/pure-ftpd.conf
当然,也可以在宝塔面板操作: 直接在 CentOS 下安装 pure-ftpd,路径则为:
1
/etc/pure-ftpd/pure-ftpd.conf
    修改 配置文件 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),
    阿里云ECS -> 配置安全组规则 -> 入、出方向 放行 39000/40000
当然,使用 FTP ,首先肯定要放行 21 端口,这里不多阐述。
    重启 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)

参考: Linux FTP命令行被动模式连接PureFtpd超时-Linux运维日志
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
参考 感谢帮助! 开启阿里云linux下的pure-ftpd被动模式,解决flashfxp可连接但无法下载的问题 - 我退而结网的个人空间 - OSCHINA - 中文开源技术交流社区 jedisct1/pure-ftpd: Pure FTP server Linux FTP命令行被动模式连接PureFtpd超时-Linux运维日志