Mule应用程序的Jsch身份验证问题

时间:2019-05-24 20:13:55

标签: jsch openssh

我们正在使用Mule企业版3.4.1,默认情况下将Jsch 1.42用于SFTP。
我们有2台服务器,说服务器A具有OpenSSH 7.4,服务器B具有OpenSSH 7.5

当尝试对服务器B使用mule sftp选项时,我遇到了不足

com.jcraft.jsch.JSchException: Algorithm negotiation fail  
      at com.jcraft.jsch.Session.receive_kexinit(Session.java:520)  
      at com.jcraft.jsch.Session.connect(Session.java:286)    
      at com.jcraft.jsch.Session.connect(Session.java:150)

我了解这是由于最新版本的OpenSSH中过时的KeyEx算法造成的。我可以在服务器B的sshd_config中看到以下日志

Unable to negotiate with 10.87.26.35 port 54322: no matching key exchange method found. 
Their offer: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1 

但是我的问题是,为什么我只在服务器B而不是服务器A上收到此错误。

我能够使用SSH或SFTP通过CLI连接到两个服务器,并验证了受支持的keyEx,这两个服务器具有相同的输出:

$  ssh -Q kex
diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
diffie-hellman-group18-sha512
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
curve25519-sha256
curve25519-sha256@libssh.org
gss-gex-sha1-
gss-group1-sha1-
gss-group14-sha1-

我只是想了解一下,这两台服务器之间我缺少什么区别。

0 个答案:

没有答案