FileZilla FTP 到 AWS EC2 Windows Server 2012 实例:无法检索目录列表

FileZilla FTP 到 AWS EC2 Windows Server 2012 实例:无法检索目录列表

我在 Amazon Web Services EC2 Windows Server 2012 实例上运行 FileZilla FTP 服务器,并希望使用 FileZilla 客户端从我的家用电脑进行 FTP 连接。我遵循了这些说明,但在步骤 7 中使用了用户管理员以及用户的密码:

如何通过 (S)FTP 进入你的 EC2 实例

在本指南中,我们将使用 FileZilla。如果您需要,请谷歌搜索 FileZilla,然后下载客户端。而不是服务器。

步骤 1:获取您的公共 DNS 地址。您可以在实例信息底部找到它。

第 2 步:找到您获取实例时获得的 .pem 密钥。

步骤3:打开FileZilla。

步骤4:转到FileZilla设置,然后在左侧单击SFTP。

步骤 5:添加新私钥。(您的 .pem 密钥)

第 6 步:如果您使用 .pem 密钥,则必须转换它,否则它将不起作用。

步骤 7:在快速连接栏顶部,将您的公共 DNS 放入主机、ec2 用户、端口 22(端口 22 是 SFTP 而不是 FTP,AWS 将反弹 FTP。)并且无密码。

步骤8:单击“快速连接”。

第 9 步:您已完成!

我可以成功连接,但随后出现错误“无法检索目录列表”。这是 filezilla 客户端上的输出(出于安全原因,dns/ip 已编辑)

Status: Resolving address of myAWSDNS.us-west-2.compute.amazonaws.com
Status: Connecting to xx.xx.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Response:   220-FileZilla Server version 0.9.41 beta
Response:   220-written by Tim Kosse ([email protected])
Response:   220 Please visit http://sourceforge.net/projects/filezilla/
Command:    USER Administrator
Response:   331 Password required for administrator
Command:    PASS ***********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (172,31,34,244,202,201)
Status: Server sent passive reply with unroutable address. Using server address instead.
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

这是 FileZilla 服务器上的输出:

(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> Connected, sending welcome message...
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 220-FileZilla Server version 0.9.41 beta
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 220-written by Tim Kosse ([email protected])
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> USER Administrator
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 331 Password required for administrator
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> PASS ***********
(000004)9/14/2014 9:02:44 AM - administrator (31.16.50.63)> 230 Logged on
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> PWD
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> 257 "/" is current directory.
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> TYPE I
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> 200 Type set to I
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> PASV
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> 227 Entering Passive Mode (172,31,34,244,202,205)
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> MLSD
(000004)9/14/2014 9:02:55 AM - administrator (31.16.50.63)> 425 Can't open data connection.

我已经在 EC2 实例的防火墙以及实例的安全组设置上打开了端口 21、22 和 14147,以允许来自所有 IP 的流量。

有人知道我可以改变什么来让它工作吗?

谢谢,

克里斯

答案1

当你打开端口时14747在 EC2 防火墙上,据称对于被动数据通道,您的服务器会监听不同的端口,并且主要监听较宽的端口范围,而不是单个端口。

来自客户端日志:

响应:227 进入被动模式(172,31,34,244,202,201

其中 202*256+201 = 端口51913

从服务器日志中:

(000004)2014 年 9 月 14 日上午 9:02:45 - 管理员(31.16.50.63)> 227 进入被动模式(172,31,34,244,202,205

其中 202*256+205 = 端口51917

我假设您尚未配置服务器以使用您已打开的端口。使用被动模式设置FileZilla 服务器选项
https://wiki.filezilla-project.org/Network_Configuration#Passive_mode_2


请注意,如果您不能保证端口号是为服务器保留的,则使用单个数据端口可能会导致问题。
请参阅FTP 服务器需要多少个数据通道端口?


您还应该为 FTP 服务器配置正确的外部 IP 地址。

响应:227 进入被动模式 (172,31,34,244,202,201)
状态:服务器发送了带有不可路由地址的被动回复。改用服务器地址。

虽然 FileZilla 客户端(和其他 FTP 客户端)可以处理服务器返回无效 IP 地址,但有些 FTP 客户端(理所当然地)不能。请参阅用于被动模式传输的外部服务器 IP 地址在同一选项页面上。

相关内容