You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Developer 17.4.1配置SSH代理SQL连接时遇算法协商失败求助

解决SQL Developer 17.4.1 SSH连接CentOS7的Algorithm negotiation fail错误

这个Algorithm negotiation fail错误我太熟了——本质就是你用的SQL Developer 17.4.1内置的JSch库,和CentOS 7 SSH服务端支持的加密/密钥交换算法不兼容,两边谈不拢就报错了。给你几个实用的解决办法,按优先级来:

方法1:修改CentOS7的SSH服务端配置(最直接)

这是最常用的解决方案,通过让服务器兼容旧算法来匹配SQL Developer的JSch库:

  • 用编辑器打开SSH配置文件:sudo vi /etc/ssh/sshd_config
  • 在文件末尾添加以下配置(这些都是旧JSch库支持的算法集):
    KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
    Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
    MACs hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha2-512
    
  • 保存退出后,先检查配置语法是否正确:sudo sshd -t(没报错就继续)
  • 重启SSH服务:sudo systemctl restart sshd
  • 现在回到SQL Developer测试SSH连接,大概率能成功。

方法2:升级SQL Developer版本(最省心)

SQL Developer 17.4.1是2018年的老版本了,后续Oracle更新了内置的JSch库,对现代SSH算法支持更好。如果你的环境允许,直接升级到最新稳定版(比如23.x系列),很多兼容性问题会自动消失,不用折腾服务器配置。

方法3:手动替换SQL Developer的JSch库(进阶操作)

如果不想升级整个软件,可以单独替换内置的JSch jar包:

  • 找到SQL Developer安装目录下的jsch.jar,一般在sqldeveloper/lib/或者sqldeveloper/ide/lib/路径里
  • 下载支持Java 8的最新JSch jar包(因为17.4.1依赖Java 8)
  • 替换掉原来的jar包,重启SQL Developer后再测试连接

注意事项

  • 修改sshd_config后一定要用sshd -t检查语法,避免配置错误导致无法远程登录服务器
  • 这个错误和防火墙/SELinux无关,不用纠结端口开放问题,重点在算法匹配

内容的提问来源于stack exchange,提问作者StarKev2525

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:37:37