宝塔 pure-ftpd 如何开启被动模式(PASV)连接
宝塔 pure-ftpd 如何开启被动模式(PASV)连接
近期有客户反馈使用宝塔面板登录 ftp 时候,会被提示以下错误(以 PASV 模式连接失败,正在尝试使用 PORT 模式): 这造成了很多ftp软件无法自动识别导致无法列出文件目录,目前已知的常用ftp软件有:cuteftp 和 filezilla,新版本的 flashfxp 可自动跳转到 主动模式(PORT) .
[右] PASV [右] 227 Entering Passive Mode (139,196,168,146,145,133) [右] 正在打开数据连接 IP: 139.196.168.146 端口: 37253 [右] 数据 Socket 错误: 连接已超时 [右] 列表 错误 [右] PASV [右] 227 Entering Passive Mode (139,196,168,146,118,232) [右] 正在打开数据连接 IP: 139.196.***.*** 端口: 30440 [右] 数据 Socket 错误: 连接已超时 [右] 列表 错误 [右] 以 PASV 模式连接失败,正在尝试使用 PORT 模式。 [右] 侦听于端口: 54795,正在等候连接。 [右] PORT 192,168,1,114,214,11 [右] 200 PORT command successful [右] MLSD [右] 150 Connecting to port 6034 [右] 226-Options: -a -l [右] 226 33 matches total [右] 列表完成: 3 KB 于 0.07 秒 (3.6 KB/秒) [右] 以 PORT 模式连接成功
cuteftp 和 filezilla 和 Flashfxp 如果想识别则需要在FTP软件上进行设置,比较麻烦。而客户需要FTP能够跟普通的链接一样,直接可以正常登录并且列出文件;
下面列出解决方法:
原因一:宝塔的 pure-ftp 没有开启 被动模式;
解决方法: 登录宝塔面板 - 软件商店 - 选中 pure-ftp - 设置 - 配置修改:Ctrl + F 搜索:PassivePortRange
如图所示 开启 被动模式以及端口:PassivePortRange 39000 40000
原因二:没有正确开启对应的防火墙端口,导致服务器无法正常反馈数据.
解决方法:如果如图上以及开启了 被动模式 仍然无法登录的情况下,进入下一步 开启对应的防火墙端口:
宝塔面板 - 安全 -放行端口; 需要放行的端口如下:20(FTP主动模式数据端口),39000-40000(FTP被动模端口范围);
开启后,使用FTP软件进行登录,就会发现 已经可以正常登录/列出文件目录,而软件哪里也不需要在单独设置 使用 主动模式PORT;
当然如果您使用的并非我们云途主机的服务器,如阿里云等 你还需要登录阿里云的控制后台 安全组 开放对应的端口,具体的可联系你们的服务器提供商进行处理。