首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >J2SSH -添加密钥交换算法

J2SSH -添加密钥交换算法
EN

Stack Overflow用户
提问于 2012-04-26 04:17:42
回答 2查看 6.8K关注 0票数 1

我正在尝试使用j2ssh将文件从我的应用程序SCP到服务器。远程服务器正在运行TECTIA。

在命令行(部署我的应用程序的Solaris机器)中,scp使用我们交换的密钥对工作得很好。

在我的应用程序中,j2ssh不能建立连接,抛出异常:

代码语言:javascript
复制
Caused by: com.sshtools.j2ssh.transport.TransportProtocolException: The connection did not complete

来自j2ssh的调试日志显示以下内容:

代码语言:javascript
复制
com.sshtools.j2ssh.transport.TransportProtocolCommon.beginKeyExchange(Unknown Source) | Starting key exchange
com.sshtools.j2ssh.transport.TransportProtocolCommon.determineAlgorithm(Unknown Source) | Determine Algorithm
com.sshtools.j2ssh.transport.TransportProtocolCommon.determineAlgorithm(Unknown Source) | Client Algorithms: [diffie-hellman-group1-sha1]
com.sshtools.j2ssh.transport.TransportProtocolCommon.determineAlgorithm(Unknown Source) | Server Algorithms: [diffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha1]
com.sshtools.j2ssh.transport.TransportProtocolCommon.sendMessage(Unknown Source) | Sending SSH_MSG_DISCONNECT
com.sshtools.j2ssh.transport.TransportProtocolCommon.run(Unknown Source) | The Transport Protocol has been stopped

从上面我可以看到,我的应用程序和服务器之间的密钥交换没有匹配算法(调试实际上显示,当服务器和客户端算法都不匹配时,这个问题的根源是AlgorithmNotAgreedException,所以我知道这是根本原因)。

我如何向j2ssh添加新的算法,以便它能够找到匹配?j2ssh文档相当稀疏。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-26 05:24:59

在j2ssh发行版中应该有一个sshtools.xml文件。在该文件中,您可以添加要映射的其他ExtensionAlgorithm条目

代码语言:javascript
复制
diffie-hellman-group14-sha1 to
com.maverick.ssh.components.jce.DiffieHellmanGroup14Sha1

或转到

代码语言:javascript
复制
com.maverick.ssh.components.standalone.DiffieHellmanGroup14Sha1
票数 1
EN

Stack Overflow用户

发布于 2012-04-26 04:45:23

我对你的问题没有确切的答案,但我有一个建议。看一下jsch库。我在几个应用程序中成功地使用了jsch。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10323092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档