C#使用Tamir.SharpSsh.jsch上传文件异常Algorithm negotiation fail
环境
服务器: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。
C#使用Tamir.SharpSsh.jsch上传文件异常Algorithm negotiation fail的更多相关文章
- FtpClient上传文件异常:java.net.SocketException: Connection reset
FtpClient上传文件异常:java.net.SocketException: Connection reset 这问题折磨我快一天了,下午这会儿终于解决了,问题不在程序错误,原因还是出在上传图片 ...
- jsch上传文件到服务器
需求就是上传文件到服务器,服务器的存储地址由程序决定然后可以自动创建. 使用第三方:jsch JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文 ...
- linus jsch上传文件
package com.osplat.util; import java.io.*; import com.jcraft.jsch.*;import com.osplat.bean.Resultmod ...
- 上传文件异常 MultipartException
参考自 https://blog.csdn.net/u010429286/article/details/54381705 现象 上传文件报错 org.springframework.web.mul ...
- 上传文件异常问题 | 413 Request Entity Too Large
开发中遇到这样的问题:一个上传文件的功能,内网测试都正常了,但是发布到外网就无法上传大点的(大于1MB)文件,更奇怪的是,后台还没有任何的异常信息. 于是就用Http抓包工具(HttpDetect)看 ...
- jsch上传文件功能
转载:http://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html JSch是Java Secure Channel的缩写.JSch是一个 ...
- ftp上传文件异常
ftp一个服务器 如果是22端口 ssh-2.0-openssh_4.3 ,是什么意思? ftp服务用的是20.21端口,客户端添加ftp信息的时候输入的是21端口 ssh服务用的是22端口,应用于远 ...
- springboot上传文件异常解决方案
配置文件加入: #配置文件传输 spring.servlet.multipart.enabled =true spring.servlet.multipart.file-size-threshold ...
- springmvc上传文件异常
症状: error:org.springframework.web.multipart.MultipartException: Current request is not a multipart r ...
- FDFS上传文件报错 tracker_query_storage fail, error no: 2, error info: No such file or directo
原因: 1.tracker服务没有启动 2.Storage服务没有启动 解决方案: 输入命令查看这两个服务是否启动,如果没有则表明没有启动.启动即可. netstat -tulnp tracker服务 ...
随机推荐
- 【Protoc】VS2019 (VS平台) 使用 CMake 编译安装、使用 Protobuf 库
背景:工作中需要使用到 protobuf,看了一些教程,感觉都不是很适合,便自己总结一些 开发环境: Win 10 VS2019 CMake 3.24.2 Protobuf 3.21.12 (Prot ...
- 题解 | 【CF896B】 Ithea Plays With Chtholly
题目链接:Here 给 \(m\) 个数,放到 \(1→n\) 一个位置上,若 \(1→n\) 都被填满且不下降就胜.强制在线. 看到题忽然觉得是水题,这不就最长不下降子序列的那个吗!直接上个二分就准 ...
- Codeforce:723A. The New Year: Meeting Friends (水题)
题意:有三个好朋友的家都住在x轴的不同坐标,问新年的时候三个朋友之间问候走的最短距离 max{(a,b,c)} - min{(a,b,c)} 即可 编译器由 VS2017 切换到VScode使用,纪念 ...
- 【每日一题】25.「火」皇家烈焰 (字符串DP)
补题链接:Here 转移方程的具体含义我在代码注释里写出来了, 很好理解 这道题的难点在于如何表示状态, 一旦找到状态表示方法 只要根据题意做转移就行了 最后的答案就是 \(dp[n][0][0] + ...
- 【体验有奖】使用 Serverless 1 步搭建照片平台!
实验介绍 当前,Serverless 技术已经被广泛应用,Serverless = FaaS + BssS 的概念已经深入人心.本场景由函数计算和 RDS MySQL Serverless 联合打造, ...
- <vue 组件 3、父子组件相互访问>
代码结构 一. 01-组件访问-父访问子 1. 效果 点击后在父组件里展示子组件的参数 2.代码 01-组件访问-父访问子.html <!DOCTYPE html> <htm ...
- 驾校考试系统 考试模块的 UI效果图
初始系统界面 判断题 单选题 多选题
- poj 3268 最短路
***题意:在x这个点有个聚会,其他的点要到x这个点,然后再会自己原始的点,求一来一回最大的那个距离 做法:两边dijstra算法,因为是单向图,要注意更新顺序*** #include<iost ...
- ORA-65140: 无效的通用配置文件名称
1.问题 CREATE PROFILE PM_Profile LIMIT SESSIONS_PER_USER 100 PASSWORD_LIFE_TIME 90; 在创建概要文件时,报错:ORA-65 ...
- Laravel - except() 函数
/** * 用户添加 * @param 接收的表单数据 (name,password,id) * @return 返回添加是否成功 */ ...