C#使用Tamir.SharpSsh.jsch上传文件异常Algorithm negotiation fail
2023-03-31 10:56:22 时间
环境
服务器:centos6.5
客户端:Windows
前言
项目中有一个exe,安装在客户端,其中有一个功能是将本地产生的文件上传至服务器,这个功能是以服务的方式安装在客户端上。之前一切好使,文件能正常上传到服务器。但最近发现产生的文件没有被上传到服务器,查看文件上传服务的事件日志提示密码错误。但是我可以保证服务器的密码没人动过。
问题复现
苦寻未果,最后找出工程,启动调试,当Tamir.SharpSsh.jsch.Session
对象连接目标服务器时,抛出异常了Tamir.SharpSsh.jsch.JSchException:“Algorithm negotiation fail”
意思是算法协商失败。
到这里突然想起来,前段时间因为漏扫出很多漏洞,其中就有openssh
当时顺便一起升级了,没想到给自己埋坑了,升级后加密算法不一样了,导致Tamir.SharpSsh.jsch
无法连接到服务器。抛出算法协商失败的异常。
解决
1、网上很多解决方案,最简单的就是修改sshd_config
文件,加入一些加密算法,我试了,行不通。
2、尝试升级Tamir.SharpSsh.jsch
,能找到的版本就是SharpSSH-1.1.1.13,而我项目里引用的就是这个版本,找半天没找到更高的版本。
3、期间想过把openssh降级,恢复到系统默认安装的版本。但这个办法会导致漏扫出漏洞。
4、最终决定弃用Tamir.SharpSsh.jsch
改用Renci.SshNet.Sftp
,在管理NuGet程序包
里直接搜SSH.NET
第一个就是,下载安装引用一气呵成。
程序稍微的改动下,可以正常连接,并上传文件。
end。
相关文章
- 数据结构之LinkedList底层实现和原理详解
- iPhone的“其他”怎么清理?四个方法教你有效清理iPhone储存空间
- 面对海量需求,该如何抓好重点做设计?
- 苹果iOS15正式版下月发布,iOS14用户怎么办,说一点看法
- 电脑弹窗广告太烦人,教你如何彻底解决
- 看了介绍就心动的即时渲染UI,到底有多强大?
- 零基础 UI 入门(一):解析UI设计概念和就业形势
- 研究了1000多个案例,发现用户体验设计能细化为这 12 个步骤
- 大厂的设计细节有多精细?来看 QQ 浏览器的实战案例!
- iOS 15 beta 7 发布,更新了......
- 如何写出一份大家都认可的交互说明文档?
- 如何锁定用户的核心需求?试试这个「层次分析法」!
- 苹果 iOS 15/iPadOS 15 开发者预览版/公测版 Beta 7 发布
- 手机用满5年已是极限,当出现这4类情况,别犹豫该更新换代了
- 这才是卸载软件的正确方法!释放大量空间,让手机流畅不卡
- 10个产品细节剖析,让你看看大厂是如何做设计的!
- 支付宝上线“划一划”密码:专为视障用户打造 更安全便捷
- 安卓实用工具箱!内置多种功能,免费不收钱
- 你能接受苹果公司 iOS15 扫描用户相册这一行为吗?
- 苹果iOS 15最新版本升级,这4个功能变化,让你的手机更好用