当前位置: 首页 > news >正文

解决jsch远程sftp连接报错:Exception:Algorithm negotiation fail

问题背景

今天遇见了使用JSch连接服务器时,报错Exception:Algorithm negotiation fail的问题!研究了半天哇!终于解决啦!把解决方案在这里给大家共享一下子!

问题原因

问题原因在于,JSch所支持的加密算法与服务器端ssh支持的加密算法不一致,导致算法通信失败。

解决办法

1. 修改JSch连接代码

修改代码,显式指定加密算法:

JSch jsch = new JSch();
Session session = null;
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.setConfig("PreferredAuthentications", "publickey,password");
session.setConfig("PubkeyAcceptedAlgorithms", "ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521");
session.connect(5000);
session.disconnect();

上面列的ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521都是相对安全的加密算法。

2. 修改服务器端的sshd_config

找到/etc/ssh/sshd_config文件,打开之后,在最后增加这样一句:

HostKeyAlgorithms ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521

这一句是为服务器指定可用的ssh连接加密算法。
然后使用sudo systemctl restart sshd命令重启sshd。

3. 尝试重连

然后我们继续尝试连接,就会发现能够连接成功啦!
在这里插入图片描述

✍结尾

🀙🀚🀛🀜🀝🀞🀟🀠🀡🀐🀑🀒🀓🀔🀕🀖🀘🀗🀏🀎🀍🀌🀋🀊🀉🀈🀇🀆🀅🀃🀂🀁🀀🀄︎🀢🀣🀥🀤🀦🀧🀨🀩🀪

参考文献:com.jcraft.jsch.JSchException: Algorithm negotiation fail

📘 妹妹听后点了点头,脸上露出了满意的笑容。她轻声说道:“原来如此,谢谢你,鸽鸽。看来我不仅要多读书,还要多动手实践,提升自己才行。”

看着她那充满求知欲的眼神,我不禁感叹,学习之路虽然充满挑战,但有这样一位美丽聪慧的伙伴相伴,一切都变得格外有意义。快去和妹妹一起实践一下吧!

求赞图

📘相关阅读⚡⚡

笔者 綦枫Maple 的其他作品,欢迎点击查阅哦~:
📚Jmeter性能测试大全:Jmeter性能测试大全系列教程!持续更新中!
📚UI自动化测试系列: Selenium+Java自动化测试系列教程❤
📚移动端自动化测试系列:Appium自动化测试系列教程
📚Postman系列:Postman高级使用技巧系列


👨‍🎓作者:綦枫Maple
🚀博客:CSDN、掘金等
🚀CSDN技术社区:https://bbs.csdn.net/forums/testbean
🚀网易云音乐:https://y.music.163.com/m/user?id=316706413
🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。
🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系处理。
🀐其他:若有兴趣,可以加文章结尾的Q群,一起探讨学习哦~

相关文章:

  • 通过 ElasticSearch的Python API和`curl` 命令获取Elasticsearch 所有索引名称
  • 大模型开源的工具包有哪些特殊符号可以使用;SEP 是什么
  • GitLab的Dockerfile 追踪
  • linunx ubuntu24.04.02装libfuse2导致无法开机进不了桌面解决办法
  • 版本控制器Git(1)
  • 虚幻C++插件胚胎级入门 | Slate Widget开发
  • Excel多级联动下拉菜单设置
  • YOLOv12:以注意力为中心的实时目标检测器
  • mac部署GPT-SoVITS,生成粤语踩坑点及使用记录
  • Spring框架中的单例Bean是线程安全的吗
  • 《Android应用性能优化全解析:常见问题与解决方案》
  • 自动化领域零部件企业研究
  • windows上传uniapp打包的ipa文件到app store构建版本
  • OpenManus-通过源码方式本地运行OpenManus,含踩坑及处理方案,chrome.exe位置修改
  • 小肥柴慢慢手写数据结构(C篇)(4-3 关于栈和队列的讨论)
  • CentOS 8 更换软件源
  • Ubuntu 22.04 无法进入图形界面的解决方法
  • 浅谈大语言模型(LLM)的微调与部署
  • centos 安装 php gmp 模块
  • YashanDB认证,YCA证书认证教程,免费证书,内含真题考试题库及答案——五分钟速成
  • 0基础学网站开发/目前最牛的二级分销模式
  • 网站服务器诊断/关键词挖掘站长工具
  • 怎么做网站动态框/今日头条搜索引擎
  • 宝安建网站/搜索引擎广告形式有哪些
  • 做除尘骨架的网站/今天新闻摘抄十条
  • 佛山网站建设seo优化/百度公司销售卖什么的