背景

  • 服务器信息:

    服务器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);

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

总结

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

参考

JSCH连接SFTP服务报错: Auth fail


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

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


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

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

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

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

com.jcraft.jsch.JSchException: Auth fail的更多相关文章

  1. jenkins com.jcraft.jsch.JSchException: Auth cancel

    jenkins构建时报如下错误: 首先去系统管理--->系统设置上看看SCP插件中的用户名和密码是否正确

  2. ssh com.jcraft.jsch.JSchException: Algorithm negotiation fail报错问题解决

    我司自动安装部署工具ideploy,使用ssh连接主机并部署业务.今天提供给一线安装规划后,安装报错,测试连接主机失败,而直接使用ssh是可以连接上主机的.查看问题错误堆栈如下: ERROR pool ...

  3. com.jcraft.jsch.JSchException: java.io.FileNotFoundException: file:\D:\development\ideaProjects\salary-card\target\salary-card-0.0.1-SNAPSHOT.jar!\BOOT-INF\classes!\keystore\login_id_rsa 资源未找到

    com.jcraft.jsch.JSchException: java.io.FileNotFoundException: file:\D:\development\ideaProjects\sala ...

  4. Hadoop 之 高可用不自动切换(ssh密钥无效 Caused by: com.jcraft.jsch.JSchException: invalid privatekey )

    案例 在安装hadoop ha之后,验证HDFS高可用时,怎么都不能实现自动切换.查看zkfc日志发现错误信息如下: WARN org.apache.hadoop.ha.SshFenceByTcpPo ...

  5. 并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host

    当对单接口极限测试时,随着并发量上升,接口稳定性出现不稳定的情况,排查后台日志,发现报错在该接口调用sftp上传时出现问题(确切的是在初始化连接时失败) 原因:系统SSH终端连接数配置过小,查看虚拟机 ...

  6. Java中com.jcraft.jsch.ChannelSftp讲解

    http://blog.csdn.net/allen_zhao_2012/article/details/7941631 http://www.cnblogs.com/longyg/archive/2 ...

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

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

  8. freeSSHd (Auth fail)错误!以及Xmanager的(ssh服务器拒绝了密码,请再试一次)错误!

    参考文档:http://blog.csdn.net/zhangliang_571/article/details/45598939 (Auth fail) 以及(ssh服务器拒绝了密码,请再试一次)  ...

  9. JSch Algorithm negotiation fail

    https://stackoverflow.com/questions/30846076/jsch-algorithm-negotiation-fail As you can see, the ser ...

随机推荐

  1. Java Try-with-resources

    目录 资源管理与 Try-Catch-Finally,旧风格 Try-with-resources 管理多个资源 自定义 AutoClosable 实现 Try-with-resources 是 ja ...

  2. 解决VMware虚拟机网络时长中断的问题

    1. 操作环境 VMware VMware® Workstation 14 Pro Windows Win7旗舰版 2. 操作过程   VMware虚拟机在使用一段时间后,经常会出现时常断网的情况,而 ...

  3. 弹指之间 -- Slow Soul

    CHAPTER 16 慢灵魂乐 Slow Soul (8Beat) Slow Soul每小节内几乎都是以8分音符弹奏,又称之为8Beat节奏,80左右的速度最能表现此节奏特色. 示例曲目: 拥抱

  4. 模拟QQ聊天与视频聊天同时进行-------java基础知识总结

    前言:多线程的知识 代码: package com.day13.math; /** * 类说明 :模拟QQ聊天与视频聊天同时进行 * @author 作者 : chenyanlong * @versi ...

  5. Flink窗口介绍及应用

    Windows是Flink流计算的核心,本文将概括的介绍几种窗口的概念,重点只放在窗口的应用上. 本实验的数据采用自拟电影评分数据(userId, movieId, rating, timestamp ...

  6. Web性能优化系列(3):如何延迟加载JS

    本文由 伯乐在线 - J.c 翻译,sunbiaobiao 校稿.未经许可,禁止转载!英文出处:www.feedthebot.com.欢迎加入翻译小组. 延迟加载JavaScript JavaScri ...

  7. 20155319 2016-2017-2 《Java程序设计》第5周学习总结

    20155319 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 8 异常处理 - `try`和`catch`语法,如果被try{}的语句出现了catch() ...

  8. 转:Citrix虚拟化--转自CSDN

    http://blog.csdn.net/kkfloat/article/category/1430751/3

  9. swapper进程【转】

    转自:https://blog.csdn.net/qq_27357145/article/details/80462292 LINUX进程小结 id为0的进程通常是调度进程,常常被称为交换进程(swa ...

  10. VELT-0.1.5开发:使用kgdb调试Linux内核【转】

    转自:http://demo.netfoucs.com/lights_joy/article/details/44106589 VELT的全称是Visual EmbedLinuxTools,它是一个与 ...