我在 EC2 上使用被动 FTP 时遇到的问题

我是基础设施团队的伊藤。

我最近有机会在 EC2 实例上被动地使用 FTP (vsftpd),但我遇到了 FTP 通信无法正常工作的问题,所以
我想分享一些需要注意的关键点。

vsftpd 代表 Very Secure FTP Daemon(非常安全的 FTP 守护进程)。

不仅仅是安全组

我认为大多数人使用安全组来控制 EC2 防火墙。

该过程涉及使用安全组,仅允许使用 FTP 的 IP 地址访问。
此外,如果您使用的是被动 FTP,则还需要在安全组中打开被动端口。

类似这样的
SnapCrab_NoName_2016-4-25_23-4-43_No-00

接下来,我们还需要配置 vsftpd 端。
这包括将其设置为被动模式,并配置被动模式使用的端口。

# vim /etc/vsftpd/vsftpd.conf pasv_enable=YES pasv_min_port=60000 pasv_max_port=60030

然而,仅凭这一点还不足以建立联系……

当 vsftpd 在 EC2 上处于被动状态时进行通信

EC2实例本身并不知道公网IP地址,对吧?
如果你运行`ifconfig`命令,它只会返回本地IP地址。

这意味着被动通信将使用“EC2实例的本地IP地址”进行。这
“FTP通信可行,但被动通信不可行,因此无法显示目录列表”,FTP连接失败。

要解决这个问题,你只需要配置 vsftpd,使其使用被动通信的 IP 地址即可。
就像这样。

# vim /etc/vsftpd/vsftpd.conf pasv_address=<公网 IP>

FTP现在正常了!!

如果您觉得这篇文章对您有帮助,请点个“赞”!
2
加载中...
2票,平均分:1.00/12
15,125
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者