【问题现象】:通过rpm安装好lftp后,执行lftp huangmr:huangmr@192.168.107.132无法连接(lftp huangmr@192.168.107.132:~> ls

`ls' at 0 [Delaying before reconnect: 175]或者是一直处于connecting...);通过sftp huangmr@192.168.107.132却可以连接。
【问题原因】:
    192.168.107.132上ftp服务异常(应该是没有启动ftp服务),使用上述命令不加端口默认使用21端口(ftp协议);按照网上的lftp使用方法“lftp
用户名:密码@ftp地址:传送端口(默认21)”加上22或115端口都不行,后来查到lftp与sftp结合使用,并不是直接用sftp端口就行了,需要使用lftp -u huangmr,huangmr sftp://192.168.107.132:22这种方式。
【排查过程】:
    昨天解决这个问题提的时候,进行了以下方面的尝试排查:
        1、是否网络断连:无法ping通远程ftp服务器,但是通过sftp是可以访问的,就证明,至少网络方面是打通了的,只是端口或服务可能有限制;

2、是否本地及远程ftp服务器的ftp服务没起:检查了本地vsftpd服务是起着的,没法连接远程ftp服务器,就没有检查其ftp服务,认为既然sftp是可用的那么ftp也没问题(这种想法是错误的);

        3、是否本地root用户登录导致远端ftp服务器拒绝:使用普通用户dop等执行lftp huangmr:huangmr@192.168.107.132也是不行的;

    晚上回去后验证:

        4、是否使用的rpm包问题:在虚拟机上(两台虚拟机上都已启动了vsftpd服务)使用相同rpm包安装,发现连接正常(至少能证明rpm包以及安装方法是可以用的,从而怀疑现网服务与虚拟机环境不一致);
        5、是否防火墙、SELinux等问题导致:在虚拟机A上启动SELinux后(vsftpd服务是起着的),从虚拟机A连接虚拟机B没问题,而如果B也开着SELinux,连接失败(仅验证对端启动SELinux会对lftp连接有影响,但是还是无法证明现网的问题是该问题导致,没法连接对端服务器关掉SELinux尝试!!!)。
    今天上午的排查:
        1、通过ftp 192.168.107.132尝试连接ftp,发现ftp超时:估计是对端ftp服务没启动;
        2、查询lftp使用方法,如果不加端口,默认21端口,即使用ftp协议,通过上步排查,ftp服务实际上是没启动的,因此不再使用ftp协议方式连接。
            使用lftp huangmr:huangmr@192.168.107.132:22也是无法连接,报FEAT negotiation...,百度上也没有找到什么有效方法。
        3、既然只能使用sftp方式,又百度lftp sftp找到连接方式lftp -u huangmr,huangmr sftp://192.168.107.132:22,基本满足一线需求(通过sftp连接,在连接时能够直接输入密码,而非通过交互式输入密码连接ftp)。

【过程分析】:
        1、问题排查过程中,有些验证方式实际上是不能充分证明或排除某问题,比如“认为既然sftp是可用的那么ftp也没问题”;
        2、之所以出现不能充分证明的情况,还是由于自身对知识了解不充分,对ftp只是一知半解。
【想法】:
    1、以后遇到问题时,首先列出可能的原因,先从最可能的原因入手,如果一知半解要先查资料,以找到充分证明或排除原因的方法,而不能想当然;
    2、列出来可能原因以及证明方法,而不是脑袋一热就去搞,太乱,也浪费时间;
    3、求助别人,有时候时间一久,脑袋还是容易发热,但是别人的一句话有时候真的很有用。

lftp连接异常情况分析过程的更多相关文章

  1. 一则线上MySql连接异常的排查过程

    Mysql作为一个常用数据库,在互联网系统应用很多.有些故障是其自身的bug,有些则不是,这里以前段时间遇到的问题举例. 问题 当时遇到的症状是这样的,我们的应用在线上测试环境,JMeter测试过程中 ...

  2. JQuery阻止冒泡事件on绑定中异常情况分析

    科普下事件冒泡以及默认行为,以下面例子举列子:     事件冒泡:当点击内部button元素时,会触发自身及外层 a的点击事件,这就是事件冒泡引起的.事件会随着 DOM 的层次结构依次向上传播. 事件 ...

  3. Android运行异常情况分析(持续更新)

    1.java.lang.IllegalAccessException: access to class not allowed 原因:在写class 文件的时候没有把class设置成public 2. ...

  4. .NET Core HttpClient请求异常详细情况分析

    前言 最近项目上每天间断性捕获到HttpClient请求异常,感觉有点奇怪,于是乎观察了两三天,通过日志以及对接方沟通确认等等,查看对应版本源码,尝试添加部分配置发布后,观察十几小时暂无异常情况出现, ...

  5. 异常情况下的Activity生命周期分析

    情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, ...

  6. 一次Linux系统被攻击的分析过程

    IT行业发展到现在,安全问题已经变得至关重要,从最近的“棱镜门”事件中,折射出了很多安全问题,信息安全问题已变得刻不容缓,而做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责的业务,首先 ...

  7. 基于TBDS的flume异常问题排查过程

    版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/214 来源:腾云阁 https://www.qclou ...

  8. HBase一次客户端读写异常解读分析与优化全过程(干货)

    大数据时代,HBase作为一款扩展性极佳的分布式存储系统,越来越多地受到各种业务的青睐,以求在大数据存储的前提下实现高效的随机读写操作.对于业务方来讲,一方面关注HBase本身服务的读写性能,另一方面 ...

  9. 使用Django.core.cache操作Memcached导致性能不稳定的分析过程

    使用Django.core.cache操作Memcached导致性能不稳定的分析过程 最近测试一项目,用到了Nginx缓存服务,那可真是快啊!2Gb带宽都轻易耗尽. 不过Api接口无法简单使用Ngin ...

随机推荐

  1. javascript控制流程语句

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 八十六:redis之RDB和AOF两种数据持久化机制

    详见:http://redisdoc.com/persistence/index.html redis.conf RDB机制 改为5秒内1次 文件已生成 关闭RDB,注释掉3个save,重启redis ...

  3. 五十:数据库之Flask-Script详解

    使用flask-script可以实现自定义命令来操作flask,如:可以通过命令来跑一个开发版本的服务器.设置数据库.定时任务等安装:pip install flask-script 命令的添加方式1 ...

  4. spring-boot集成2:集成lombok

    Why lombok? lombok可以帮我们从实体类的getter.setter.constructor和toString等样板代码中解脱出来,使用lombok可以开发出更优雅的代码 1.maven ...

  5. I'm using Python 2.7.2 ImportError No module named bz2

    安装mongodb的时候 提示错误 这是因为同时装了python2.6和2.7的缘故 sudo cp /usr/lib64/python2.6/lib-dynload/bz2.so /usr/loca ...

  6. react中递归生成列表

    import React, {Component} from 'react'; import { Menu, Icon } from 'antd'; import {Link} from 'react ...

  7. 【Linux开发】linux设备驱动归纳总结(四):1.进程管理的相关概念

    linux设备驱动归纳总结(四):1.进程管理的相关概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  8. Java内存模型 (一)什么是进程?什么是线程?进程和线程之间的区别是什么?

    什么是进程?什么是线程? 进程是系统中正在运行的一个程序,程序一旦运行就是进程. 进程可以看成程序执行的一个实例.进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间.一个进程无法访问另一个进程 ...

  9. 关于Linux文本处理“三剑客”的一些小操作。

    Linux文本处理“三剑客”,即grep.sed.awk,这是Linux中最核心 的3个命令. 一.首先做个简单的介绍: 1.awk:linux三剑客老大,过滤,输出内容,一门语言.NR代表行号. 2 ...

  10. 2019牛客暑期多校训练营(第二场)-H Second Large Rectangle(次大子矩阵,降维,直方图+单调栈)

    题目链接:https://ac.nowcoder.com/acm/contest/882/H 题目:给n×m的由01组成的矩阵,求次大全1子矩阵的大小. 思路:第一步还是降维操作,用a[i][j]记录 ...