环境

服务器: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的更多相关文章

  1. FtpClient上传文件异常:java.net.SocketException: Connection reset

    FtpClient上传文件异常:java.net.SocketException: Connection reset 这问题折磨我快一天了,下午这会儿终于解决了,问题不在程序错误,原因还是出在上传图片 ...

  2. jsch上传文件到服务器

    需求就是上传文件到服务器,服务器的存储地址由程序决定然后可以自动创建. 使用第三方:jsch JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文 ...

  3. linus jsch上传文件

    package com.osplat.util; import java.io.*; import com.jcraft.jsch.*;import com.osplat.bean.Resultmod ...

  4. 上传文件异常 MultipartException

    参考自  https://blog.csdn.net/u010429286/article/details/54381705 现象 上传文件报错 org.springframework.web.mul ...

  5. 上传文件异常问题 | 413 Request Entity Too Large

    开发中遇到这样的问题:一个上传文件的功能,内网测试都正常了,但是发布到外网就无法上传大点的(大于1MB)文件,更奇怪的是,后台还没有任何的异常信息. 于是就用Http抓包工具(HttpDetect)看 ...

  6. jsch上传文件功能

    转载:http://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html JSch是Java Secure Channel的缩写.JSch是一个 ...

  7. ftp上传文件异常

    ftp一个服务器 如果是22端口 ssh-2.0-openssh_4.3 ,是什么意思? ftp服务用的是20.21端口,客户端添加ftp信息的时候输入的是21端口 ssh服务用的是22端口,应用于远 ...

  8. springboot上传文件异常解决方案

    配置文件加入: #配置文件传输 spring.servlet.multipart.enabled =true spring.servlet.multipart.file-size-threshold ...

  9. springmvc上传文件异常

    症状: error:org.springframework.web.multipart.MultipartException: Current request is not a multipart r ...

  10. FDFS上传文件报错 tracker_query_storage fail, error no: 2, error info: No such file or directo

    原因: 1.tracker服务没有启动 2.Storage服务没有启动 解决方案: 输入命令查看这两个服务是否启动,如果没有则表明没有启动.启动即可. netstat -tulnp tracker服务 ...

随机推荐

  1. 【Qt Libraries】QUrl 的基本使用方法

    参考博客: https://www.cnblogs.com/liushui-sky/p/10892097.html https://www.cnblogs.com/ShineLeBlog/p/1495 ...

  2. 题解| CF1561D2. Up the Strip(递推)

    题目链接:Here 这个思路学习自 Harris-H ,考虑递推而不是DP 与 D1 不同,开始考虑 \(f_{i-1} \to f_i\) 显然操作 1 多了 \(f_{i-1}\) ,操作2 多了 ...

  3. 2D+1D | vivo官网Web 3D应用开发与实战

    一. 前言 1.1 前端工程师,不写网页,还能做什么? 在近20年的前端发展史中,前端经历了铁器时代(小前端),信息时代(大前端)以至现在的全能前端时代.经历了几个时代的沉淀之后,前端领域开始更加细分 ...

  4. SpringCloud学习 系列六、服务平滑离线

    系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...

  5. 五、mycat水平分库

    系列导航 一.Mycat实战---为什么要用mycat 二.Mycat安装 三.mycat实验数据 四.mycat垂直分库 五.mycat水平分库 六.mycat全局自增 七.mycat-ER分片 一 ...

  6. tinymce富文本编辑器升级问题

    突然这样,之前好好地.

  7. Jstack 查看线程状态及定位占用 cpu 较高的 java 线程

    本文为博主原创,未经允许不得转载: 1. Jstack 用来查看 java 指定进程所包含的 java 线程状态:    "arthas-NettyHttpTelnetBootstrap-3 ...

  8. 使用VS开发人员工具观察类在内存中的布局

    1.先要生成相应文件 2.打开VS2019开发人员工具 3.cd至文件目录 4.输入cl /d1 reportSingleClassLayoutanimal demo.cpp 其中reportSing ...

  9. 百度网盘(百度云)SVIP超级会员共享账号每日更新(2024.01.13)

    一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...

  10. [转帖]K8s Pod Command 与容器镜像 Cmd 启动优先级详解

    https://cloud.tencent.com/developer/article/1638844 前言 创建 Pod 时,可以为其下的容器设置启动时要执行的命令及其参数.如果要设置命令,就填写在 ...