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

我是基础设施团队的伊藤。
我最近有机会在 EC2 实例上被动地使用 FTP (vsftpd),但我遇到了 FTP 通信无法正常工作的问题,所以
我想分享一些需要注意的关键点。
vsftpd 代表 Very Secure FTP Daemon(非常安全的 FTP 守护进程)。
不仅仅是安全组
我认为大多数人使用安全组来控制 EC2 防火墙。
该过程涉及使用安全组,仅允许使用 FTP 的 IP 地址访问。
此外,如果您使用的是被动 FTP,则还需要在安全组中打开被动端口。
类似这样的

接下来,我们还需要配置 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
