我正在尝试使 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
然后我启动了 vsftpd
$ systemctl start vsftpd.service
还在 AWS 网站的安全组下打开了 TCP 端口范围 20-21 和端口范围 1024-1048,并将 SELinux 设置为宽容
当我尝试连接 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
我到处都搜索过了,但还是没找到解决办法。希望有人能帮忙!
我还尝试使用来自 amazon 的 pem 文件通过端口 22 进行 sftp。我能够通过这种方式登录,但文件传输速度太慢了,所以我放弃了。我尝试上传 phpmyadmin,使用 sftp 上传它真的需要 20 分钟。知道为什么它这么慢吗?
如果有人能提出建议我将非常感激。
答案1
这个帖子已经有几个月了,但我刚刚遇到了同样的问题并设法解决了它。
我vsftpd.conf
通过更改两行禁用了 IPv6 并启用了 IPv4:最初:
listen=NO
listen_ipv6=YES
变成:
listen=YES
listen_ipv6=NO
希望有帮助!
答案2
你必须确保你的Security Group
能够Instance
反映您的pasv_min_port
&pasv_max_port
并且pasv_address
也是正确的。
我的一部分/etc/vsftpd/vsftpd.conf
:
$ sudo grep ^pasv_ /etc/vsftpd/vsftpd.conf
pasv_max_port=2121
pasv_min_port=2020
pasv_address=54.X.X.X
$
另外,请确保你的客户端正在使用被动的连接而不是活动。
答案3
这似乎是一个错误。https://trac.filezilla-project.org/ticket/10681
建议使用 Filezilla 3.10.2