使用jschexception验证false的SSH有时会失败

din*_*mar 36 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)
Run Code Online (Sandbox Code Playgroud)

ant*_*ine 20

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

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

  • JSch 0.1.50解决了差不多一年但现在又出现了问题.即使是JSch 0.1.51,在大约500次SSH执行中也会导致"验证错误".还有其他人有问题吗? (14认同)

ant*_*ine 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 相同的问题。

  • Atsuhiko Yamanaka 写道: 似乎 Java7u6(及更高版本)中包含的 JCE 突然改变了其行为。请尝试以下版本,http://www.jcraft.com/jsch/jsch-0.1.50-rc1.zip 我们已确认此版本可以在 Java7u15 上建立 10,000 个连接,而不会出现“verify: false”错误。 (3认同)