我在 FileZilla 服务器中设置了自签名证书并启用了 SSL/TPS 上的 FTP。当我从客户端 FileZilla 连接时,我能够进行身份验证但无法获取目录列表:
Status: Connecting to MY_SERVER_IP:21...
Status: Connection established, waiting for welcome message...
Response: 220-FileZilla Server version 0.9.39 beta
Response: 220-written by Tim Kosse ([email protected])
Response: 220 Please visit http://sourceforge.net/projects/filezilla/
Command: AUTH TLS
Response: 234 Using authentication type TLS
Status: Initializing TLS...
Status: Verifying certificate...
Command: USER MYUSER
Status: TLS/SSL connection established.
Response: 331 Password required for MYUSER
Command: PASS ********
Response: 230 Logged on
Command: PBSZ 0
Response: 200 PBSZ=0
Command: PROT P
Response: 200 Protection level set to P
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I
Command: PORT 10,10,25,85,219,172
Response: 200 Port command successful
Command: MLSD
Response: 150 Opening data channel for directory list.
Response: 425 Can't open data connection.
Error: Failed to retrieve directory listing
我在防火墙上打开了端口 21 和 50001 至 50005。我们正在迁移服务器 - 50001 - 50005 是帮助 FTPS 在旧服务器上运行的因素之一。我不确定此安装是否会使用相同的端口?还有什么问题?
答案1
您在添加所需附加端口方面做得很正确。您也可以检查服务器上的本地防火墙设置。
答案2
尝试在 Windows 防火墙上禁用状态 FTP 规则。打开命令行提示符并输入此行(不带引号):
“netsh advfirewall 设置全局 StatefulFTP 禁用”
问题出在 Windows 防火墙上,我在 FTP 和 FTPS 中看到过这个问题。
答案3
我在使用 FileZilla Server 时也遇到了这个问题。假设您已将客户端和服务器都设置为使用被动模式...
检查 Windows 防火墙是否未阻止端口 50001-50005。我已在其中为 FileZilla 应用程序创建了例外,但它没有清除被动端口。我刚刚为打开的范围创建了一个例外,问题就解决了。
答案4
你需要一个 FTP 端口和一个控制通道端口 [这样你才能获得目录列表]。我为此绞尽了一整天脑袋。
在 Azure 中为 FTP、TCP 端口 21 创建端点。public/private
在 Azure 中为 FZServer 创建一个端点,TCP 端口 6000。public/private
在FileZilla服务器软件上,点击“被动模式”,并将端口范围设置为“使用自定义端口范围”6000-6000,并设置“从...检索外部ip”http://ip.filezilla-project……”
并选择“不使用外部IP进行本地连接”。
然后在 Azure VM 上运行 FW.msc,为端口 21 创建防火墙规则,并为应用程序“FileZilla Server.exe”[而不是“interface.exe”]创建一个防火墙规则,并打开端口 6,000。
奇迹般有效!