2015-05-28 57 views
-2

我正尝试使用JSch连接到服务器。我得到“谈判失败”的错误。我检查了sshd_config文件并得到以下信息:JSch中的SSH连接问题

UsePAM yes 
PasswordAuthentication no 
Ciphers aes128-ctr,aes256-ctr,arcfour256,arcfour,aes128-cbc,aes256-cbc 
AllowTcpForwarding no 
PermitRootLogin no 

其余脚本都被注释掉了。正如你所看到的,它没有提到任何关于支持的密钥交换方法。 1.这似乎是问题吗?或者是否有任何其他原因显示此错误? 我很难获得批准进行更改和测试,所以我想首先确定并应用更改。

而且,这是我从记录器获取:

INFO: Connecting to xx.xxx.xxx.xxx port 22 
INFO: Connection established 
INFO: Remote version string: SSH-2.0-OpenSSH_5.1 
INFO: Local version string: SSH-2.0-JSCH-0.1.31 
INFO: SSH_MSG_KEXINIT received 
INFO: SSH_MSG_KEXINIT sent 
Exception in thread "main" com.jcraft.jsch.JSchException: Algorithm negotiation fail 
    at com.jcraft.jsch.Session.receive_kexinit(Session.java:540) 
    at com.jcraft.jsch.Session.connect(Session.java:288) 
    at com.jcraft.jsch.Session.connect(Session.java:145) 
    at SSHConnection.connect(SSHConnection.java:21) 
    at SSHConnection.main(SSHConnection.java:25) 
  • 是否有任何其他的方法找出服务器支持的密钥交换方法?
  • 是否有其他方式连接到此服务器?我需要将它集成到我的Java程序中。
  • +0

    [“算法协商失败”在JSch中可能出现重复](http://stackoverflow.com/questions/30489998/algorithm-negotiation-fail-error-in-jsch) –

    +0

    这与您[昨天的问题](http://stackoverflow.com/q/30489998/850848)? –

    回答

    0

    我发现这个问题,事实证明,我有下载Java加密扩展(JCE)和替换中存在的安全文件夹中的以下路径的那些文件: C:\ Program Files文件\ Java \ jre6 \ lib \ security \

    希望这会帮助有同样问题的人。