当前位置: 首页 > news >正文

排查JSch连接SFTP服务器失败的问题

背景:

        1、SFTP服务器(A)已启动,SSH版本7.x,本机使用sftp命令测试可登录,可确定用户名/密码正确。只是输入密码后,连接时间有点长,超过10s。        

        2、客户端是使用JSch实现的,本地测试 ,连接其他服务器正常。

现象:

        客户端连接A服务器,后台日志报错,错误信息如下:

com.jcraft.jsch.JschException: Auth fail for methods 'publickey,gssapi-keyex,gssapi-with-mic,password'at com.jcraft.jsch.Session.connect(Session.java:520) ~[jsch-0.2.17.jar:0.2.17]om.jcraft.jsch.JSchException:Session.connect:java.net.sokcetException: Connection  resetat com.jcraft.jsch.Session.connect(Session.java:569) ~[jsch-0.2.17.jar:0.2.17]

客户端源码:

        JSch jsch = new JSch();Session session = jsch.getSession(username, host, port);session.setPassword(password);Properties config = new Properties();config.put("StrictHostKeyChecking", "no");session.setConfig(config);session.connect(10* 1000);//获取sftp通道return session.openChannel("sftp");

基于前面的背景情况,单独测试客户端和服务器端,都正常。两个组合在一起,就报上面的错误,属实有点摸不着头脑。不过,经过一番折腾,还是发现了端倪,具体排查过程如下:

排查过程:

        1、按照以往的经验结合日志,第一反应是服务器端缺少客户端支持的算法?又或者是服务器上的ssh配置缺少某些参数?在ssh.conf中折腾了一顿之后,发现并没有效果。

        2、查看服务器上的日志,包括message、aduit、secure等日志,看是否有可以提供的信息,答案还是无。

        3、怀疑服务器的SSH版本过低,与客户端的JSch版本不兼容?换了一台同版本的SSH服务器,结果可以正常登录。问题也不在这儿!

        4、怀疑代码里面的用户名/密码有误?那就加上打印日志,看下输出。很遗憾,用户名密码也是对的。此时,又陷入了迷茫。

        忽然间,看到了源码中的超时时间设置是10s,又想到通过sftp命令测试本机登录时,连接的时间很慢。嗯,可能找到原因了,超时时间不够?

        改大代码的超时时间,从10s改成100s试试。通了,TMD真的通了!!!

        但为啥会这么慢,10s都连不上,没办法,我这人就是好奇心重,不找到原因,绝不妥协,😄

        基于以前的经验,首先就想到是不是配置了域名解析的地址,于是,直接查看/etc/resolv.conf的配置信息。好家伙,还真配了2个地址。那就先把他们都注释掉,然后本机用sftp命令看下效果,发现本机sftp命令都连不上了,看来这个地址不能改。

        于是,挨个地址进行恢复,重新测试,可以连上。由于这个配置是生产环境,不清楚具体的组网情况,没法更深入定位原因了,行吧,就到这里。

        


文章转载自:

http://Qkn1IAB5.knkfj.cn
http://2S1qYa1W.knkfj.cn
http://jhq3LDB6.knkfj.cn
http://aVK5HONz.knkfj.cn
http://ndhhJnay.knkfj.cn
http://W7yEIiYU.knkfj.cn
http://MpIQzvcx.knkfj.cn
http://oKHf8ajE.knkfj.cn
http://ZieY7VVl.knkfj.cn
http://FgQha9Lv.knkfj.cn
http://Q4w7BXqS.knkfj.cn
http://XZN7QiTa.knkfj.cn
http://rxf9a1wr.knkfj.cn
http://2TPI7WGs.knkfj.cn
http://cpQcRLcf.knkfj.cn
http://MAA0c5XU.knkfj.cn
http://ylcT7DAr.knkfj.cn
http://5aFEwSog.knkfj.cn
http://4KI1YiPg.knkfj.cn
http://z2kmQWtU.knkfj.cn
http://xoMZ5RLL.knkfj.cn
http://FmEwvGA1.knkfj.cn
http://lkW1raOr.knkfj.cn
http://dDVI49XU.knkfj.cn
http://JDGg2UbX.knkfj.cn
http://hCeP0BMM.knkfj.cn
http://5h7Z6GPY.knkfj.cn
http://Ih1gTsWQ.knkfj.cn
http://QytJVn1M.knkfj.cn
http://o9NFlV9h.knkfj.cn
http://www.dtcms.com/a/374587.html

相关文章:

  • JMeter压测过程中监控服务器CPU及内存的方法
  • 整理python快速构建数据可视化前端的Dash库
  • Redis缓存穿透、缓存击穿与雪崩防护及性能优化实战指南
  • ArcGIS学习-20 实战-地形研究
  • Ubuntu下基于Nginx+ffmpeg+video.js的HLS流媒体视频播放方案
  • Vue2 VS Vue3
  • 【ArcGIS】如何编辑图层的属性表
  • VueFlow的箭头怎么调整
  • 基于Vue3 +ElementuiPlus + Dexie.js自研的浏览器插件新建标签页tab
  • 【序列晋升】30 Spring Cloud Vault 安全配置管理的微服务守护者
  • 狂想-一种新颖的低成本内嵌标记的视触觉感知前导方案
  • 兰洋科技双展联动展示液冷创新成果,技术驱动打造绿色算力新基建
  • INDEMIND亮相2025科技创变者大会,以机器人空间智能技术解锁具身智能新边界
  • 百度SEM里什么是搜索广告、搜索词、否定关键词、上方位(竞价)广告?
  • 百度竞价推广:百度搜索竞价推广代运营
  • rabbitmq如何保证消息不丢失
  • 做百度SEM付费搜索推广时,竞价账号定向怎么设置?
  • html+css+JavaScript实现一个简单的登录
  • 【国内电子数据取证厂商龙信科技】从SQL语句开始数据库分析
  • 字节跳动Seed推出「机器人大脑」Robix:让机器人学会思考、规划与灵活互动
  • 【ComfyUI】Flux Schnell Fp8量化版图像生成
  • 【3DV 进阶-2】Hunyuan3D2.1 训练代码详细理解下-数据读取流程
  • 从零开始的云计算生活——第六十天,志在千里,使用Jenkins部署K8S
  • 平板热点频繁断连?三步彻底解决
  • nand flash的擦除命令使用
  • 《Pod调度失效到Kubernetes调度器的底层逻辑重构》
  • OC-单例模式
  • C语言链表设计及应用
  • 中级统计师-统计法规-第三章 统计法的基本原则
  • 【VR音游】音符轨道系统开发实录与原理解析(OpenXR手势交互)