宝塔面板安装Pure-Ftpd后FTP无法获取远程列表的解决办法

宝塔面板安装了Pure-Ftpd,但是发现创建了之后FTP服务器无法获取远程列表!其实这个也并不是宝塔面板的原因,而是Pure-Ftpd普遍存在的使用问题!

FTP客户端默认的传输模式是被动模式,因此在通信过程中会去寻找服务器端的ip地址进行连接,但是由于我们有些服务器分内网和外网,并且外网ip不是直接配在网卡上,因此在被动模式下客户端找不到有效的ip(因为找到的是服务器的内网ip,内网ip无法直接和外网通信),所以无法建立连接

解决办法如下:

1、找到Pure-Ftpd的配置文件,可以通过WinScp或者直接通过宝塔面板的文件管理修改!文件路径:

/www/server/pure-ftpd/etc/pure-ftpd.conf找到文件内容的188行:

# ForcePassiveIP 192.168.0.1删掉注释,并将192.168.0.1修改为当前服务器的公网IP

#ForcePassiveIP 公网IP

2、然后在宝塔面板后台重启FTP服务即可!

如果Windows出现这样的问题,可以操作安全组只需开放21端口,然后FTP工具设置“活动模式”访问,即可获得FTP目录(软件默认被动方式),尝试解决!

如果是华为云的话是有安全策略的,需要开启 TCP协议的39000-40000端口