jschexception: Algorithm negotiation fail

文章介绍了SSH连接失败可能是由于主机SSH缺少与jschjar包匹配的加密算法。解决方案包括在sshd_config中添加特定的加密算法或升级jschjar包至0.1.50以上以及升级JDK到1.8版本。此外,提供了不同OpenSSH版本与jschjar包的适配信息,并提到了回退到j2ssh.jar的选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 解决方案

  1. 添加加密算法
    ssh连接问题是由于主机ssh中缺少与jsch jar包匹配的加密算法导致,jsch jar包的默认加密算法貌似是diffie-hellman-group-exchange-sha1。

在目标主机ssh服务的sshd_config文件中添加下列加密算法并重启ssh服务即可解决ssh连接问题。

1
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256
2. 升级版本
把OpenSSH和jsch的版本进行升级

jsch jar包要更新到0.1.50以上版本,经测试0.1.42版本与openssh6.7配合有问题。

--------------------------------2020-06-10—再次更新------------------------

把JAVA程序的JDK升级到1.8版本并更新jsch jar包到官方最新包 ,测试过后可以正常连接各种ssh版本。

版本适配对应适配版本备注
OpenSSH_8.2p1jsch-0.1.55.jar
OpenSSH6.7jsch-0.1.50.jar及以上版本均可适配
OpenSSH5.3xjsch-0.1.8.jar
  1. 回退版本
    回退到以前的版本

  2. j2ssh.jar方式替代jsch

  3. jsch版本下载列表
    https://sourceforge.net/projects/jsch/files/jsch.jar/

转载自码农家园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值