V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
mathcoder23
V2EX  ›  Linux

linux vsftpd 服务器客户端访问问题

  •  
  •   mathcoder23 · 2015-11-25 12:01:46 +08:00 · 2544 次点击
    这是一个创建于 3287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问:
    为什么在 windows 通过资源管理器访问 linux vsftpd 服务器从输入地址到弹出认证界面要等很久(大约 10 多秒),有什么办法可以非常快速的弹出认证界面?
    详细描述:
    在 linux 上连接 ftp 服务器,输入地址后可以很快的弹出认证界面登录
    在 windows 上用资源管理器输入地址大约过了 10 多秒后才弹出认证界面。这个过程很慢。
    但是我在 windows 的命令行通过 ftp 命令 open ftp 服务器就可以非常快的返回叫我输入用户名密码。
    根据这个现象我下载 win 下的 ftp 客户端也可以非常快速的弹出认证界面。

    8 条回复    2015-11-27 10:01:09 +08:00
    yov123456
        1
    yov123456  
       2015-11-25 12:49:40 +08:00   ❤️ 1
    貌似用 sftp 资源管理器连接前面要加用户名 @ 才连得上……
    onice
        2
    onice  
       2015-11-25 17:05:28 +08:00   ❤️ 1
    题主试试清理下浏览器的缓存。尝试 ping 一下客户机到 FTP 服务器,看看网络延迟状况。不排除网络中有嗅探器( FTP 明文传输)。尝试更改下 FTP 的连接方式为被动连接(客户机主动连接服务器)。如果有防火墙,记得关闭防火墙再尝试,有的包过滤防火墙真会影响数据传输性能。
    mathcoder23
        3
    mathcoder23  
    OP
       2015-11-26 17:00:29 +08:00
    @yov123456
    @onice
    找到问题的根源了,
    是因为 win 资源管理器会先尝试匿名登录,但是服务器是拒绝匿名登录的(这个认证过程比较慢),从而导致等待了很久才出现登录界面。
    现在要怎么解决呢?
    如何使服务器快速的响应登录认证失败
    或者
    如何使 win 资源管理器不自动匿名认证一下就弹出登录界面
    yov123456
        4
    yov123456  
       2015-11-26 17:24:41 +08:00 via iPhone   ❤️ 1
    @mathcoder23 感觉跟 vsftpd 有些关系 同样禁止匿名 之前用 pureftp 就可以秒弹窗…
    mathcoder23
        5
    mathcoder23  
    OP
       2015-11-26 17:27:55 +08:00
    @yov123456 对,我明明都禁止匿名了,居然还要验证那么久,怎么破?
    yov123456
        6
    yov123456  
       2015-11-26 19:12:07 +08:00 via iPhone   ❤️ 1
    @mathcoder23 我刚刚搜了一下还没试 在设置 anonymous_enable = no 的前提下, 貌似在 userlist 允许 anonymous 就可以解决问题
    onice
        7
    onice  
       2015-11-26 21:47:16 +08:00   ❤️ 1
    @mathcoder23 如何使 win 资源管理器不自
    动匿名认证一下就弹出登录界面,这个可能没辙。如何使服务器快速的响应登录认证失败,这个问题可能跟 vsftpd 有关,我自己使用 vsftpd 都是秒弹窗的。我知道有个方法可以可以直接把认证信息写入地址,这样直接就可以打开,不需要弹窗认证了。
    格式是: ftp://username:password@IP
    例如用户名是 admin ,密码是 123456 ,服务器地址是: 192.168.1.2 ,
    那么直接打开 ftp://admin:[email protected] 就不需要弹窗认证了。
    我还是认为不应该是客户机的问题,而是你 ftp 服务器的问题,要不升级下 vsftpd 的版本?
    mathcoder23
        8
    mathcoder23  
    OP
       2015-11-27 10:01:09 +08:00
    @onice
    从 win 资源管理器客户端看:
    ftp://admin:[email protected] 这种方法确实可行,也非常快此时我才恍然大悟,
    第一次:我用的是 ftp://192.168.1.2 ,我抓包发现会先尝试匿名登录,我当时就应该猜测实质上调用的是 ftp://anonymous:[email protected] 这样的命令,这样就说得通为什么要先匿名登录,另一方面 win 资源管理器弹出的登录框提示的是:服务器不允许匿名登录,或者不接受改电子邮箱地址,者言下之意是已经尝试过匿名登录了。
    第二次:我用的是 ftp://[email protected](我没有传密码),问题依然在,我抓包发现它先进行了登录的用户名是 admin 密码是空。非常惭愧的是我居然没反应过来,没有去思考过为什么密码是空,其实它还是调用 ftp://admin:@192.168.1.2 ,实在惭愧,自己太粗心了,为什么我不去尝试 ftp://admin:[email protected] 这样的命令,因为我之前在 linux 用这样的命令,正确的用户和密码,但是依然会弹出提示输入密码,所以我就错误性的认为 ftp://admin@[email protected] 是不可用了。
    哎,从客户端的解决方案来看,还是我太粗心造成这样,没有分析清楚,我想服务器或许还是因为某些不仔细造成的吧。
    vsftpd 服务器:
    我用的在 mint vsftpd3.02 和 arch vsftpd3.03 都有这样相同的问题,应该是我某些配置有问题,我正在尝试解决,
    非常感谢大家。
    @yov123456
    @onice
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   891 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 20:40 · PVG 04:40 · LAX 12:40 · JFK 15:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.