39

要求是从一台服务器ssh到多台服务器并执行一个命令。

当我这样做时,我经常(但并非总是)在尝试从一台服务器 ssh 到另一台服务器时收到此异常。这可能是什么原因,如何解决?任何帮助都可能很棒。提前致谢!

jcraft.jsch.JSchException: verify: false 
     at jcraft.jsch.Session.connect(Session.java:309) 
     at jcraft.jsch.Session.connect(Session.java:162)
4

4 回答 4

19

jsch 0.1.50 已经发布,它解决了这个问题。

jsch的下载页面是http://www.jcraft.com/jsch/

于 2013-05-29T18:10:16.220 回答
4

我在 Windows 64 位上使用 Java 1.7.0_07 以及 Ant 1.7.1 和 jsch-0.1.44.jar 时遇到了同样的问题。还使用 Ant 1.9.0-alpha 和 jsch-0.1.49。我已经在 sourceforge 的 jsch 跟踪器上报告了这个问题。

有人使用 Ivy、jsch 和 Java 1.7 IVY-1374进行了类似的错误报告

gradle 的用户也报告了与 gradle-ssh-plugin 问题 11 相同的情况。

于 2013-02-21T03:16:44.957 回答
0

@antoine 提到的修复实际上是在 0.1.51 而不是 0.1.50,我猜jsch changlog令人困惑的措辞是罪魁祸首:“自 0.1.50 版以来的变化”意味着 0.1.51

以下页面“[JSch-users] ANNOUNCE:JSch 0.1.51”应该更清楚 https://sourceforge.net/p/jsch/mailman/message/32115165/

它说

JSch 0.1.51 已经发布。它可在
http://sourceforge.net/projects/jsch/files/jsch/0.1.51/jsch-0.1.51.zip/download获得 ,它的 md5sum 是 89d0ff6d36040622da0a482e51d87725 你可以在 jar 文件格式中获取它的字节码
http://sourceforge.net/projects/jsch/files/jsch.jar/0.1.51/jsch-0.1.51.jar/download 其 md5sum 为 de3a2b0d03295f167fea1904939443cf

自 0.1.50 版以来的更改: - 错误修复:“验证:假”的可重复性。固定的。数十万个连接导致了该异常。

于 2020-05-20T21:48:58.307 回答
0

问题仍然存在,其他2个答案是正确的。

1) 0.1.49 之前的版本存在一个bug 0.1.49 版本理论上已经修复这里是更改日志

2)在java 1.7和jsch之间存在交互,并且在这种情况下出现错误

它一直发生在我身上。我相信这是因为某些插件没有更新它们的依赖项,并且它们的 jsch 低于 0.1.50 作为包含。

IE:ssh 凭证插件 https://github.com/jenkinsci/ssh-credentials-plugin

我添加了一个拉取请求来更改依赖项,但他们还没有回答。

于 2016-12-08T21:26:58.283 回答