【问题标题】:vsftpd error Listing Directoriesvsftpd 错误列出目录
【发布时间】:2011-06-11 00:23:45
【问题描述】:

我在亚马逊 ec2 上使用 fedora 实例安装了 vsftpd,它是最新版本,但出现错误: 在可爱的FTP中:

COMMAND:> PASV 227 Entering Passive Mode (192,168,10,46,14,20)
COMMAND:> LIST
ERROR:> Can’t connect to remote server. Socket error = #10065.
ERROR:> PASV failed, trying PORT.

在 Filezilla 中:

Command: PASV Response: 227 Entering Passive Mode (192,168,10,46,14,20)
Command: LIST Error: Connection timed out
Error: Failed to retrieve directory listing.

尝试通过 Shell 连接并显示目录列表。

【问题讨论】:

    标签: amazon-ec2 ftp ec2-ami vsftpd


    【解决方案1】:

    刚刚遇到同样的问题...这通常只影响使用被动模式的 GUI ftp 客户端(这很常见)。例如,当使用标准的 ftp 命令行工具时,我能够成功登录并将文件上传到我的 ftp 服务器。

    改正的步骤是:

    1. 将以下设置添加到您的 /etc/vsftpd.conf 文件中:

      pasv_enable=YES pasv_min_port=64000 pasv_max_port=64321 port_enable=YES

    2. 还可以根据您的情况将以下配置块之一添加到您的 /etc/vsftpd.conf 文件中(无论哪种方式,这都需要解析为公共可访问 IP):

    一个:

    pasv_address=<your-static-ip-most-likely-from-elastic-ips>
    pasv_addr_resolve=NO
    

    -或-

    b:

    pasv_address=<your-publicly-resolvable-host-name>
    pasv_addr_resolve=YES
    
    1. 在您的 ec2 实例的安全组配置中,添加以下自定义入站 tcp 规则:
    • 为标准 ftp 启用端口 20-21
    • 启用上述配置部分中定义的被动端口(我使用的是 64000-64321)
    1. 重新启动您的 vsftpd 服务(取决于您的 linux 风格)

    注意:pasv 端口范围应该在防火墙、NAT 之外可见

    更多信息参考:

    【讨论】:

    • 我认为你混淆了 pasv_max_port 和 pasv_min_port
    • 现在已修复 @MosheShaham。谢谢!
    • 即使我已经配置了被动端口范围并打开了这些端口,我也遇到了同样的问题。一时兴起,我尝试将 pasv_addr_resolve 切换为 YES 并将我的主机名而不是 IP 放入其中,现在被动连接再次起作用。奇怪。
    • 有了这个配置,我什至无法启动/重启守护进程 - pgrep vsftpd 什么都不返回 :(
    【解决方案2】:

    如果在 vsftpd.conf 中有如下配置:

    pasv_enable=YES
    pasv_min_port=64000
    pasv_max_port=64321
    

    尝试打开防火墙:

    # yum install -y epel-release
    # yum install -y ufw
    # sudo ufw allow from any to any proto tcp port 64000:64321
    
    sudo iptables -A INPUT -p tcp –dport 64000:64321 -j ACCEPT
    

    【讨论】:

      【解决方案3】:

      亚马逊 ec2 上的error: failed to retrieve directory listing 只需将传输模式更改为活动模式即可修复。

      这篇文章解释了如何使用 filezilla 轻松完成它:

      https://nabtron.com/error-while-connecting-to-amazon-ec2-via-ftp-solution/

      【讨论】:

        【解决方案4】:

        这对我有用;

        下面是/etc/vsftpd.conf中的配置

        listen=YES
        anonymous_enable=NO
        local_enable=YES
        write_enable=YES
        local_umask=022
        use_localtime=YES
        xferlog_enable=YES
        connect_from_port_20=YES
        xferlog_file=/var/log/vsftpd.log
        xferlog_std_format=YES
        chroot_local_user=YES
        allow_writeable_chroot=YES
        chroot_list_enable=YES
        chroot_list_file=/etc/vsftpd.chroot_list
        pam_service_name=ftp
        pasv_enable=YES
        pasv_min_port=13000
        pasv_max_port=13100
        port_enable=YES
        pasv_address=AWS-IP-Address
        pasv_addr_resolve=no
        

        保存并重启服务

        $ sudo service vsftpd restart
        

        在安全组中打开以下端口

        • 自定义 TCP 20 来自 0.0.0.0/0
        • 来自 0.0.0.0/0 的自定义 TCP 21
        • 自定义 TCP 13000 来自 0.0.0.0/0
        • 来自 0.0.0.0/0 的自定义 TCP 13100

        从 FileZilla FTP 客户端连接时可能会出现以下错误;

        Error:  Connection timed out
        Error:  Failed to retrieve directory listing
        

        解决这个问题;

        • 打开 Filezilla,进入编辑 -> 设置
        • 点击连接 -> FTP:选择激活
        • 点击连接 -> FTP -> 活动模式:选择“询问您的操作 外部 IP 地址的系统”
        • 点击连接 -> FTP -> 被动模式:选择回退到 活动模式 按 OK。

        再次尝试连接到您的 FTP 站点。

        【讨论】:

          【解决方案5】:

          vsftpd-3.0.2-1.el5.x86_64.rpm 版本对我有帮助:

          pasv_enable=YES
          pasv_min_port=64000
          pasv_max_port=64321
          port_enable=YES
          pasv_address=<your-static-ip-most-likely-from-elastic-ips>
          pasv_addr_resolve=NO
          

          感谢龙达!

          【讨论】:

            【解决方案6】:

            如果可能,您想使用被动模式。正如我在 Bucho 链接到的文章中所说,您只需为 PASV 模式定义一个端口范围并在您的 EC2 安全组中打开该范围

            【讨论】:

              【解决方案7】:

              【讨论】:

              猜你喜欢
              • 2015-10-21
              • 2018-02-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-22
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多