V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lx19891024
V2EX  ›  问与答

linux lftp 登陆卡死在 Connecting...怎么解决?

  •  
  •   lx19891024 · 2015-01-30 09:38:31 +08:00 · 9366 次点击
    这是一个创建于 3592 天前的主题,其中的信息可能已经有所发展或是发生改变。
    怎么传图?。。。。我大概手打一下

    lftp -u asd,gggf ftp://1.1.1.1 #不存在的用户名和ip
    `ls' at 0 [Connecting...] #输入完则会卡在这里

    如图所示:随便用户名和地址,肯定都是错的,然后登陆进去按照网上搜的去掉什么 ssl,但是还是不行,就卡在这儿。

    lftp是个非常好用的工具,支持ftp,sftp..等,有丰富的命令,我想编程人员的初衷肯定不会有这么浅显的bug存在,一定有可以配置的参数,但是苦恼于找不到,所以求助大家。

    解决方案我猜想的话有两个:

    1。是设置操作超时,比如这个连接超过1分钟,则退出lftp。但是观察所有配置,只有个set net:timeout 1 这个我试了下,还是不行。这个大概的意思好像是你登陆成功了,不做操作,1分钟退出,和我想要的执行命令卡在那儿超时是两回事

    2。是解决这个[Connecting...],出现Delaying before reconnect xx 就好办了,表示开始重新连接,这时候我设置重连次数和时间即可,但是跳不到这一环节里,就在第一步就卡住了。望大神解答
    6 条回复    2015-01-30 10:55:43 +08:00
    Havee
        1
    Havee  
       2015-01-30 09:48:17 +08:00   ❤️ 1
    这是我的配置,你参考参考

    #debug 3
    set xfer:clobber on
    set ftp:charset "gbk"
    set sftp:charset "UTF-8"
    set file:charset "UTF-8"
    alias gbk "set ftp:charset gbk; set file:charset UTF-8"
    alias utf8 "set ftp:charset UTF-8; set file:charset UTF-8"
    alias passive "set ftp:passive-mode"
    set ftp:ssl-auth TLS-P
    set ftp:ssl-protect-data yes
    set ftp:use-feat no
    set ssl:verify-certificate no
    set ftp:ssl-allow no
    set ftp:ssl-force no
    set ftp:passive-mode yes
    set pget:default-n 1
    sftp:connect-program "ssh -a -x -i /path/key"
    #set persist-retries 5
    set reconnect-interval-base 999
    set reconnect-interval-multiplier 1
    #set net:limit-rate 61440,1024000
    set prompt "\[\e[1;36m\]lftp\[\e[m\] \[\e[0;32m\]\S\? \u\@\h:\w>\[\e[m\] "
    set ftp:list-empty-ok yes
    ETiV
        2
    ETiV  
       2015-01-30 10:00:52 +08:00 via iPhone   ❤️ 1
    先确定ftp服务器在别的地儿能不能连的上

    再推荐个FTP工具,ncftp套件

    上传用ncftpput,下载用ncftpget
    lx19891024
        3
    lx19891024  
    OP
       2015-01-30 10:02:26 +08:00
    @Havee 首先谢谢回答,但是我打了你写的所有配置,然后再ls的时候,还是出现
    `ls' at 0 [Connecting...]
    不知道你是否像我一样试过随便写一个ip和用户名,然后ls会不会卡住呢。。
    lx19891024
        4
    lx19891024  
    OP
       2015-01-30 10:04:44 +08:00
    @ETiV 嗯?谢谢回答,现在就是不是ftp服务器的问题,我随便写一个ip和用户名。。连接就会卡死,这样导致我的程序在路由正常的时候能正常运作,而一旦路由挂程序会一直卡在那儿不退出
    lx19891024
        5
    lx19891024  
    OP
       2015-01-30 10:06:34 +08:00
    完善一下过程,少打了一行。。

    lftp -u asd,gggf ftp://1.1.1.1 #不存在的用户名和ip
    ls
    `ls' at 0 [Connecting...] #输入完则会卡在这里

    其实不管是ls或是cd命令,都会这样卡主
    lx19891024
        6
    lx19891024  
    OP
       2015-01-30 10:55:43 +08:00
    @Havee 解决了,谢谢,唉2了。。就是set net:timeout 1就是连接等待时长,之前我试了怎么不行呢。。。debug3非常有用。。
    完整的配置如下:
    set net:timeout 1;set net:max-retries 2;set net:reconnect-interval-base 5;set net:reconnect-interval-multiplier 1;
    set net:max-retries 2;也非常有用,设置最大重连次数,程序就不会卡住无脑连了。
    写出来也送给出现问题的朋友们~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2646 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:53 · PVG 18:53 · LAX 02:53 · JFK 05:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.