亚马逊网络服务 ec2 ftp filezilla

Ale*_*lex 0 centos ftp

我正在尝试使 vsftpd 与来自 centos 的 centos 7 ami 一起使用。安装 vsftpd 后,我编辑了配置文件并进行了以下更改:

anonymous_enable=NO
local_enable=YES
write_enable=YES

# for ftp passive mode
connect_from_port_20=NO

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
# (ec2 instances public ip)
pasv_address=52.xx.xx.xx
Run Code Online (Sandbox Code Playgroud)

然后我启动了 vsftpd

$ systemctl start vsftpd.service
Run Code Online (Sandbox Code Playgroud)

还在AWS网站上的安全组下打开了tcp端口范围20-21和端口范围1024-1048,并将SELinux设置为permissive

当我尝试与 filezilla 连接时,我收到此错误消息

Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/home/centos"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   227 Entering Passive Mode (0,0,0,0,4,7).
Command:    LIST
Error:  The data connection could not be established: WSAEADDRNOTAVAIL - Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)

我到处搜索,但没有找到解决方案。希望有人能帮忙!

我还尝试使用来自亚马逊的 pem 文件通过端口 22 进行 sftp。我能够以这种方式登录,但是文件传输速度太慢了,我只好放弃了。我尝试上传 phpmyadmin 并且使用 sftp 上传它真的需要 20 分钟。知道为什么它这么慢吗?

如果有人能提出建议,将不胜感激。

小智 6

这个线程已经有几个月了,但我刚刚遇到了同样的问题并设法解决了它。

vsftpd.conf我禁用 IPv6 并通过更改 2 行启用 IPv4 :最初:

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

变成:

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

希望有帮助!