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

com.jcraft.jsch.JSchException: Auth fail

背景

  • 服务器信息:
    服务器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 failat 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 failat 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);

重启服务后,发现正常了,可以连接成功了!也没有在报错了!

总结

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

参考

基于jsch的SFTP文件上传下载的java工具类
JSCH连接SFTP服务报错: Auth fail


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

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


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

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

博客首页 : http://blog.csdn.net/u010648555

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

http://www.xdnf.cn/news/11940.html

相关文章:

  • 【计算机网络】TCP/IP——流量控制与拥塞控制
  • Proftpd安装与应用
  • 【Linux】内核代码阅读 list_entry()
  • 2022年危险化学品经营单位安全管理人员操作证考试题及在线模拟考试
  • 为找工作的同学提供一些大公司的招聘地址。都是本人花时间整理的。一定要看哟:)
  • csol什么时间服务器维护,csol6月10日服务器更新维护公告
  • 《经 典 文 章 大 赏》
  • excel使用教程_火遍全球的14个Excel学习网:大神套路、视频课、软件下载应有尽有...
  • 视频接口大全(HDMI、DVI、VGA、RGB、分量、S端子、USB接口)
  • 把CDLinux制作成U盘启动
  • 新生搜索神器Microsoft Academic Search与Google scholar、PubMed、wos、embase大PK!
  • umd格式电子书_这可能是安卓端最强的电子书阅读APP(“静读天下”使用技巧)...
  • 电子杂志制作
  • java乱码转换中文_java中文乱码解决之道(四)-java编码转换过程 - Java 技术驿站-Java 技术驿站...
  • Win7系统提示找不到AdmTmpl.dll文件的解决办法
  • 【内网提权】windows2003本地PR提权详解
  • struts2教程--快速入门
  • shutdown 命令参数介绍
  • HTML5+CSS3案例一:学成在线
  • 人工智能5:构建基于iris 数据集的 SVM 分类模型,含有 iris.csv
  • DAVINCInbsp;DM365-DM368开发攻略…
  • 【2024最新版】超详细Wireshark安装保姆级教程,及简单使用Wireshark抓包_wireshark官网
  • Dopamine(多巴胺)越狱工具一键越狱教程:支持 iOS 15-iOS 16.6.1 设备
  • 完整图书馆管理系统(包含设计思路、图形界面、后台数据库)
  • 百度二级域名大全 目前为234个http://www.twocity.cn/blog/article.asp?id=818
  • 转vmp3.0.9全保护拆分解析
  • htc G10刷机教程
  • VC 界面库皮肤库
  • 植物大战僵尸:逆向分析阳光
  • 手把手教你搭建自己的个人博客(图文教程)