背景

服务器信息:

服务器A:10.102.110.1

服务器B:10.102.110.2

需要从服务器A通过Sftp传输文件到服务器B。

应用项目中有一个功能,要通个关Sftp进行日志文件的传输,在部署的时候,服务器之间已经配置了免认证(密),也就sftp免密登录,但是部署完项目后,启动服务,在需要传输的时候还是报了下面的错误:

com.jcraft.jsch.JSchException: Auth fail

14:26:12.704 [pool-1-thread-1] ERROR fileTransfer - connect to server failed:

com.jcraft.jsch.JSchException: Auth fail

at com.jcraft.jsch.Session.connect(Session.java:519) ~[jsch-0.1.54.jar:na]

at com.jcraft.jsch.Session.connect(Session.java:183) ~[jsch-0.1.54.jar:na]

at com.shop.core.log.transfer.SftpFileTransfer.connect(SftpFileTransfer.java:64) ~[livechat-core-0.0.1-SNAPSHOT.jar:na]

at com.shop.core.log.transfer.FileTransferExecutor.processFile(FileTransferExecutor.java:96) [livechat-core-0.0.1-SNAPSHOT.jar:na]

at com.shop.core.log.transfer.FileTransferExecutor.access$000(FileTransferExecutor.java:26) [livechat-core-0.0.1-SNAPSHOT.jar:na]

at com.shop.core.log.transfer.FileTransferExecutor$1.run(FileTransferExecutor.java:48) [livechat-core-0.0.1-SNAPSHOT.jar:na]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_67]

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) [na:1.7.0_67]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_67]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_67]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_67]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_67]

at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]

14:26:12.705 [pool-1-thread-1] ERROR fileTransfer - Connect to 10.102.110.7 failed, cannot transfer data files!

14:26:22.768 [pool-1-thread-1] ERROR fileTransfer - connect to server failed:

com.jcraft.jsch.JSchException: Auth fail

at com.jcraft.jsch.Session.connect(Session.java:519) ~[jsch-0.1.54.jar:na]

at com.jcraft.jsch.Session.connect(Session.java:183) ~[jsch-0.1.54.jar:na]

at com.shop.core.log.transfer.SftpFileTransfer.connect(SftpFileTransfer.java:64) ~[livechat-core-0.0.1-SNAPSHOT.jar:na]

at com.shop.core.log.transfer.FileTransferExecutor.processFile(FileTransferExecutor.java:96) [livechat-core-0.0.1-SNAPSHOT.jar:na]

at com.shop.core.log.transfer.FileTransferExecutor.access$000(FileTransferExecutor.java:26) [livechat-core-0.0.1-SNAPSHOT.jar:na]

at com.shop.core.log.transfer.FileTransferExecutor$1.run(FileTransferExecutor.java:48) [livechat-core-0.0.1-SNAPSHOT.jar:na]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_67]

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) [na:1.7.0_67]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_67]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_67]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_67]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_67]

at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]

14:26:22.768 [pool-1-thread-1] ERROR fileTransfer - Connect to 10.102.110.7 failed, cannot transfer data files!

解决过程

1、 检查 配置参数比如用户名和密码等配置错误

这里就不做过多说明,自己去查看连接sftp的配置时候正确。

2、查看服务器之间sftp免密登录配置是否OK

遇到 Auth fail 认证失败,那么第一个要排查的就是 服务器的SSH免密登录配置是否OK,在10.102.110.1 服务器A 通过下面命令:

ssh shop@10.102.110.2

shop : 用户名

10.102.110.2:服务器ip

输入命令后,不需要输入密码即可连接成功服务器B。那说明免密配置是OK!

3、检查 配置项PasswordAuthentication

在/etc/ssh/sshd_config文件夹的一个配置项PasswordAuthentication 默认为no!

“PasswordAuthentication”设置是否允许口令验证,把它改为yes,重启服务就OK了。

我查看了10.102.110.2服务器B配置发现也没有问题。PasswordAuthentication配置的就是yes。

4、看Session.connect 是否设置连接超时

查看代码发现代码中,connect为默认构造。

//省略其他代码

this.sshSession.connect();

//省略其他代码

看了一下源码,觉得这个连接超时时候要设置,默认是0!

于是修改为下面代码

// 设置登陆超时时间,不设置可能会报错

this.sshSession.connect(1500);

重启服务后,发现正常了,可以连接成功了,也报错误了。

总结

一个问题的出现,可能的原因会有很多,不能因为问题出现了而乱了手脚,要有排查问题的思路,一步步来,最终问题一定会解决的。

参考

如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到,谢谢!

如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!

祝你今天开心愉快!

欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

© 每天都在变得更好的阿飞

java auth fail_com.jcraft.jsch.JSchException: Auth fail相关推荐

  1. com.jcraft.jsch.JSchException: Auth fail

    背景 服务器信息: 服务器A:10.102.110.1 服务器B:10.102.110.2 需要从服务器A通过Sftp传输文件到服务器B. 应用项目中有一个功能,要通个关Sftp进行日志文件的传输,在 ...

  2. 配置springcloud配置中心读取github上的配置文件报错:com.jcraft.jsch.JSchException: Auth fail解决方案

    首先,在配置中检查要读取的分支是否正确,从2020年几月份开始,github上的master分支变为了mian分支.因此yml中读取分支的配置应该是:label: main 其次,如果yml使用的是u ...

  3. 解决JSCH的sftp连接时出现的com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stre

    问题描述 如题,今天遇到个问题,使用JSCH的jsch-0.1.54.jar实现的sftp在连接目标服务器时报com.jcraft.jsch.JSchException: Session.connec ...

  4. Java中com.jcraft.jsch.JSch讲解

    JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到 ...

  5. Jsch报错:com.jcraft.jsch.JSchException: session is down

    在写用自动任务对对账文件内容进行筛选,避免敏感信息泄露的过程中,报了一个很有意思的错误: com.jcraft.jsch.JSchException: session is down-- 利用jsch ...

  6. JAVA实现SFTP实例(JSCH)

    JAVA实现SFTP实例 最近写的一个JAVA实现SFTP的实例: /* * Created on 2009-9-14 * Copyright 2009 by www.xfok.net. All Ri ...

  7. java ssh jsch_Java使用jsch远程连接ssh

    概念:JSch是SSH2的纯Java实现.JSch允许连接到sshd服务器并使用端口转发,X11转发,文件传输等,并且可以将其功能集成到您自己的Java程序中. 说白了就是以java的方式通过jsch ...

  8. ch.ethz.ssh2.Session和com.jcraft.jsch.Session

    通过Jsch连接 step 1引入jar包 <!-- jcraft包 -->         <dependency>             <groupId>c ...

  9. 云数据库没有公网ip如何访问,navicate ssh隧道 + com.jcraft.jsch

    云数据库没有公网ip如何访问 引言 ssh tunnel com.jcraft.jsch 引入依赖 连接配置类 监听类 配置文件(application.yml) 引言 为了数据安全,数据库所在的服务 ...

最新文章

  1. mysql 主从复制 和基于gtid的mysql主从复制
  2. Google 顶级论文:机器学习系统,隐藏多少技术债?
  3. secureCRT 下载文件
  4. 使用 greenDao 框架 操作数据库
  5. springboot生成包含特定数字_面试必问 —— Spring Boot 是如何实现自动配置的?
  6. php 打印对象到文件,php实现将数组或对象写入到文件的方法小结【三种方法】...
  7. 荣耀es升级鸿蒙,华为手机明年全部升级鸿蒙系统 所有自研设备换OS
  8. 下载旧版本jdk和tomcat
  9. Arcgis制作行政区划矢量文件(shp格式)
  10. coreutils8.32 hostid命令和源码分析
  11. 计算机要重启电脑才能检测出u盘启动,u盘要电脑重启才能用
  12. 1.还不会部署高可用的kubernetes集群?看我手把手教你使用二进制部署v1.23.6的K8S集群实践(上)
  13. CentOS 5.5安装 bluefish
  14. 四叶草的python代码_python绘图四叶草
  15. 三分钟计算机自我介绍面试,三分钟面试自我介绍【三篇】
  16. 刘邦韩信java_刘邦为什么叫韩信雏儿 刘邦杀韩信后悔了吗
  17. 亚信电子最新AxRobot EtherCAT七轴助力控制机器手臂解决方案
  18. 从 0 搭建 Vite 3 + Vue 2.7 前端工程化项目
  19. 2020年系统分析师考试经验分享
  20. outlook文件超出服务器允许大小,outlook2010 PST文件最大支持50GB怎么调大

热门文章

  1. Spring基础专题——第七章(持久层整合)
  2. celery中间件:broker
  3. 若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色
  4. ACMNO.48 01字串
  5. 约瑟夫死亡游戏算法问题
  6. 详解目标检测之Neck选择
  7. Task02——零基础入门NLP - 新闻文本分类之数据读取与分析
  8. 新一代企业内部故障报修软件功能实现
  9. 字节流数据的写出(输出)和读取(输入)
  10. 从Java到Spring为何独得青睐Spring Summit 2017不可不知的那些事儿