【问题现象】:通过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、求助别人,有时候时间一久,脑袋还是容易发热,但是别人的一句话有时候真的很有用。

最新文章

  1. 【总结】详细说说@Html.ActionLink()的用法
  2. Why do we live in this world?
  3. [转]理解I/O Completion Port
  4. CSS中!important的优先级
  5. Android 设计模式一:EIT造型
  6. TCP协议三次握手过程分析【图解,简单清晰】
  7. struts中调用servlet的两种方法——IcC方式和非IoC方式的代码demo
  8. Delphi中三种方法获取Windows任务栏的高度
  9. uva :10123 - No Tipping(dfs + 几何力矩 )
  10. python基础——抽象类
  11. 实例分析ASP.NET在MVC5中使用MiniProfiler监控MVC性能的方法 
  12. hibernate 调用存储过程返回参数
  13. kali linux源大全
  14. [JOISC2014]友だちをつくろう
  15. SpringBoot Web开发(5) 开发页面国际化+登录拦截
  16. [您有新的未分配科技点][BZOJ3545&BZOJ3551]克鲁斯卡尔重构树
  17. C#_Demo_摄像头实时_4线程人脸识别注册开发全过程
  18. haproxy httpcheck with basic auth
  19. OLEDB数据源和目标组件
  20. [转帖] k8s kubectl 命令行技巧

热门文章

  1. vs install 安装时自动添加注册表
  2. Ajax上传文件到C#Action中
  3. PHP $_SERVER超全局变量
  4. 【HANA系列】【第七篇】SAP HANA XS使用Data Services查询CDS实体【一】
  5. PJzhang:微软出口管制条例
  6. javascript预编译练习(变态篇)
  7. CentOS下Vim加密解密文本
  8. Linux C/C++基础——文件(上)
  9. 【Linux开发】linux设备驱动归纳总结(八):4.总线热插拔
  10. mybatis批量更新update-设置多个字段值allowMultiQueries=true