前提
- FTP客户端:WinSCP
- Centos 7.8 (64位)
- pure-ftpd
- (笔者这里是使用 宝塔面板 安装的)
WinSCP 开启 Passive Mode
pure-ftpd 开启 Passive Mode
- pure-ftpd 配置文件路径:
- 使用宝塔安装 pure-ftpd,路径则为:
/www/server/pure-ftpd/etc/pure-ftpd.conf
当然,也可以在宝塔面板操作:
- 直接在 CentOS 下安装 pure-ftpd,路径则为:
/etc/pure-ftpd/pure-ftpd.conf
- 修改 配置文件 pure-ftpd.conf
找到如下内容:
代码语言:javascript复制# 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 服务
- 宝塔面板:
- 命令
service pure-ftpd restart
补充:
参考:Pure-Ftpd · 宝塔面板手册 · 看云
代码语言:javascript复制/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运维日志
Server sent passive reply with unroutable address 172.16.206.241, using host address instead.
解决:
pure-ftpd.conf
找到 ForcePassiveIP
,取消注释,修改 ip 地址为所在公网IP。
# 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
服务即可。
超时连接
代码语言:javascript复制Timeout detected. (data connection)
Could not retrieve directory listing
Error listing directory '/'.
解决:
代码语言:javascript复制不知道为何使用 3000 4000,就会出现如上图无法连接,使用默认端口范围即可
# 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运维日志
本文作者: yiyun
本文链接: https://cloud.tencent.com/developer/article/1970821
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!