lftp连接异常情况分析过程
2024-09-02 06:09:03
【问题现象】:通过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却可以连接。
`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这种方式。
用户名:密码@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、求助别人,有时候时间一久,脑袋还是容易发热,但是别人的一句话有时候真的很有用。
最新文章
- 【总结】详细说说@Html.ActionLink()的用法
- Why do we live in this world?
- [转]理解I/O Completion Port
- CSS中!important的优先级
- Android 设计模式一:EIT造型
- TCP协议三次握手过程分析【图解,简单清晰】
- struts中调用servlet的两种方法——IcC方式和非IoC方式的代码demo
- Delphi中三种方法获取Windows任务栏的高度
- uva :10123 - No Tipping(dfs + 几何力矩 )
- python基础——抽象类
- 实例分析ASP.NET在MVC5中使用MiniProfiler监控MVC性能的方法
- hibernate 调用存储过程返回参数
- kali linux源大全
- [JOISC2014]友だちをつくろう
- SpringBoot Web开发(5) 开发页面国际化+登录拦截
- [您有新的未分配科技点][BZOJ3545&;BZOJ3551]克鲁斯卡尔重构树
- C#_Demo_摄像头实时_4线程人脸识别注册开发全过程
- haproxy httpcheck with basic auth
- OLEDB数据源和目标组件
- [转帖] k8s kubectl 命令行技巧
热门文章
- vs install 安装时自动添加注册表
- Ajax上传文件到C#Action中
- PHP $_SERVER超全局变量
- 【HANA系列】【第七篇】SAP HANA XS使用Data Services查询CDS实体【一】
- PJzhang:微软出口管制条例
- javascript预编译练习(变态篇)
- CentOS下Vim加密解密文本
- Linux C/C++基础——文件(上)
- 【Linux开发】linux设备驱动归纳总结(八):4.总线热插拔
- mybatis批量更新update-设置多个字段值allowMultiQueries=true