Java SSH使用jschexception verify false有时会失败
要求从一台服务器到多台服务器进行ssh,并执行一个命令 当我这样做时,我经常(但并非总是)在尝试从一台服务器到另一台服务器的ssh时收到此异常。原因可能是什么?如何修复?任何帮助都会很好。提前谢谢Java SSH使用jschexception verify false有时会失败,java,ssh,jsch,Java,Ssh,Jsch,要求从一台服务器到多台服务器进行ssh,并执行一个命令 当我这样做时,我经常(但并非总是)在尝试从一台服务器到另一台服务器的ssh时收到此异常。原因可能是什么?如何修复?任何帮助都会很好。提前谢谢 jcraft.jsch.JSchException: verify: false at jcraft.jsch.Session.connect(Session.java:309) at jcraft.jsch.Session.connect(Session.java:162)
jcraft.jsch.JSchException: verify: false
at jcraft.jsch.Session.connect(Session.java:309)
at jcraft.jsch.Session.connect(Session.java:162)
我在Windows64位上使用Java1.7.007以及Ant1.7.1和jsch-0.1.44.jar时也遇到过同样的问题。还使用Ant 1.9.0-alpha和jsch-0.1.49。 我已经在网上报告了这个问题 使用Ivy、jsch和Java1.7的人也做过类似的bug报告
gradle的用户也报告了与gradle ssh插件第11期相同的问题。jsch 0.1.50已经发布,它修复了这个问题
jsch的下载页面是问题仍然存在,其他两个答案是正确的 1) 0.1.49之前的版本中存在错误 在版本0.1.49中,理论上固定的是更改日志 2) java 1.7和jsch之间存在交互,在这种情况下会出现错误 这件事一直发生在我身上。我相信这是因为一些插件不更新它们的依赖项,并且它们的jsch低于0.1.50 IE:ssh凭据插件
我添加了一个pull请求来更改依赖项,但它们还没有响应。提到的修复@antoine实际上是在0.1.51中,而不是0.1.50,我想应该归咎于混淆的措辞:“自0.1.50版以来的更改”意味着0.1.51 下面的页面“[JSch用户]宣布:JSch 0.1.51”应该更清楚 上面说 JSch 0.1.51已经发布。可在
它的md5sum是89d0ff6d36040622da0a482e51d87725,你可以得到它的 jar文件格式的字节码位于
其MD5总和为de3a2b0d03295f167fea1904939443cf 自版本0.1.50以来的更改: -错误修正:“验证:错误”的再现性。固定的。 成千上万的连接导致了这一异常
我们将调查这个问题。我在v.0.1.54上的测试代码有问题。等待答案:Atsuhiko Yamanaka写道:Java7u6(及更高版本)中包含的JCE似乎突然改变了其行为。请尝试以下版本,我们已经确认此版本可以在Java7u15上进行10000次连接,并且没有“verify:false”错误。JSch 0.1.50解决了此问题将近一年,但现在问题再次出现。即使是JSch 0.1.51也会在大约500次SSH执行中产生一次“verify false”。还有其他人有这个问题吗?我们也有使用0.1.50的问题。使用Jsch 0.1.51和Java 1.7_13这对我来说也是一个问题,所以如果有人知道如何解决这个问题,他们非常欢迎。即使使用最新版本的Jsch(0.1.54),我也有这个问题。Jsch是一个非常混乱的库,有一个不可感知的API。我希望有更好的替代方案。修复程序实际上是0.1.51而不是0.1.50,我想应该归咎于他们的changlog令人困惑的措辞:“自版本0.1.50以来的更改”意味着0.1.51