使用 FileZilla 连接到 FTP 站点时,服务器发送带有不可路由地址的被动回复

crm*_*cco 10 certificate routing ftp tls

我收到错误消息“服务器发送了具有不可路由地址的被动回复。改用服务器地址。” 连接到 FTP 站点(非 SFTP)时

我已经多次连接到该站点,但是 FileZilla 首次要求我接受证书。

我正在连接的帐户似乎不是问题,因为它发生在该服务器上的所有帐户上。

在此处输入图片说明

小智 5

这是一个老问题,但认为它可能对其他人有帮助。我有一个类似的问题,@HBrujin 提到我也指定了正确的 pasv_address,但 Filezilla 上仍然出现类似的消息。

首先,通过在 FileZilla 中启用调试模式,找出您作为 PASV 命令获得的 IP 地址,您可能会看到如下所示的行

Response:   227 Entering Passive Mode (0,0,0,0,4,7).
Run Code Online (Sandbox Code Playgroud)

我希望是我的公共地址而不是 0.0.0.0,因为我已经指定了 pasv_address。后来意识到这是由于listen_ipv6=YES设置而pasv_address具有IP4。只需添加更改配置即可

#listen_ipv6=YES
listen=YES
Run Code Online (Sandbox Code Playgroud)

解决了我的问题。

  • 这实际上是由于 vsftpd 中的错误造成的:https://serverfault.com/q/821025/168875 (2认同)

HBr*_*ijn 2

乍一看,这是一个 NAT 问题,FTP 协议帮助程序因 TLS 加密而失败,我预计这也会成为防火墙问题。

我的一个旧答案中一些背景知识。

解决方案可能是修复 FTP over SSL 可以使用的被动 TCP 端口范围,让 FTP 服务器通告外部 IP 地址而不是实际 IP 地址(pasv_addressVSFTPD 中的指令),并为这些端口创建静态 NAT 规则。

  • 谢谢你的评论。我是否需要对实际 FTP 服务器上的防火墙或 FTP 客户端的设置中的防火墙进行更改?我已经与一位同事核实过,他能够毫无问题地连接到服务器。 (2认同)