首页 > 编程语言 >C#使用Tamir.SharpSsh.jsch异常Algorithm negotiation fail

C#使用Tamir.SharpSsh.jsch异常Algorithm negotiation fail

时间:2022-11-23 14:33:41浏览次数:37  
标签:jsch negotiation Tamir Algorithm 文件 SharpSsh 服务器

环境

服务器: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。

 

 

标签:jsch,negotiation,Tamir,Algorithm,文件,SharpSsh,服务器
From: https://www.cnblogs.com/xujiecnblogs/p/16917727.html

相关文章

  • SpringMVC源码-创建ContentNegotiationManagerFactoryBean
    一、ContentNegotiationManagerFactoryBean的BeanDifinition及实现的接口上图的属性说的是ContentNegotiationManagerFactoryBean对应的BeanDifinition中设置的属性,需要......
  • Jsch远程执行shell脚本命令
    分享知识传递快乐JSch是JavaSecureChannel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成......
  • Spring Cloud 最新版发布,干掉 JSch,支持 Mina,这次真的追不动了。。
    大家好,我是栈长。今天又是一年一度的中秋节了,祝大家节日快乐啊,给大家通报一则消息,SpringCloud2021.0.4最新版发布了,来看下最新的SpringCloud版本情况:Maven依赖给大家......
  • jsch
    packagewm.http.jsch;importcom.jcraft.jsch.Channel;importcom.jcraft.jsch.JSch;importcom.jcraft.jsch.Session;importio.netty.handler.codec.http.websocketx.Te......