jsch jar包连接不上ssh报Algorithm negotiation fail 错误

报错信息:

com.jcraft.jsch.JSchException: Algorithm negotiation fail

问题分析:

sshd配置中没有打开支持jsch jar内需求的算法,默认开放的算法在man sshd_config中可以看,可能是sshd的高级版本中默认关闭了部分算法(7.5版本有这个问题)。

hash算法查看:ssh -Q mac

kex算法查看:ssh -Q kex

传输加密算法查看:ssh -Q cipher

上面命令查看到的算法是sshd支持的算法,并不是已经打开的算法

解决方案:

在 /etc/ssh/sshd_config文件的最后添加命令行,打开算法:

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,[email protected]

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

重启服务:  service sshd restart

问题解决。

原文地址:http://blog.51cto.com/netsyscode/2062456

时间: 2024-10-19 09:58:28

jsch jar包连接不上ssh报Algorithm negotiation fail 错误的相关文章

JSch连接SSH问题Exception:Algorithm negotiation fail

自动安装部署工具ideploy,使用ssh连接主机并部署业务 .操作系统SUSE11SP4升级到SUSE12后,出现下列报错: JSch连接SSH问题Exception:Algorithm negotiation fail[SSH] Exception:Algorithm negotiation fail /app/aideploy/deploy_xx/xml/deploy-stop.xml:135: The following error occurred while executing th

不借助第三方jar包实现文件上传

如果实现文件上传难道非要借助第三方jar包(最常用的莫过于apache的commons-fileupload工具包)来实现吗?答案是否定的,下面通过例子演示在不借助第三方jar包的前提下如何实现文件的上传: 一.第一种实现方式 正在总结稍等!!! 二.第二种实现方式 正在总结稍等!!! 不借助第三方jar包实现文件上传,布布扣,bubuko.com

【Java】Java程序打包成jar包在Linux上运行

当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行. 1.Java程序用MyEclipse打包成可运行的jar包 (1)在MyEclipse中选中需要打包的项目,点击右键,选择:Export... 如下图所示: (2)然后在弹出的窗口中选择:Java-->Runnable JAR file,然后点击:Next,如下图所示: (3)然后选择需要打包的程序和保存的地方,然后点击:Finish,如下图所示: 这样Java程序

windows用SSH和linux同步文件&linux开启SSH&ssh client 报 algorithm negotiation failed的解决方法之一

1.安装.配置与启动 SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server sudo apt-get install openssh-server 然后确认sshserver是否启动了: ps -e |grep ssh 如果看到ssh

使用cos.jar包实现文件上传功能

我们经常做项目时要用到文件上传功能,同时还要控制文件大小与文件类型,文件的重命名等功能:今天跟大家讲解一下使用cos.jar包来实现文件上传与控制的功能吧. 第一步:要把cos.jar文件拷贝到WEB-INF/lib文件夹 第二步:创建上传的jsp文件,upload.jsp,页面的表单必须有如下2个属性,并且值是固定的 1.enctype="multipart/form-data"2.method = "post" 页面完整代码如下: <%@ page lan

springboot jar启动 读取jar包中相对路径文件报错

jar包启动后读取相对路径文件报异常: Caused by: java.io.FileNotFoundException: class path resource [***.***] cannot be resolved to absolute .***.jar/BOOT-INF/classes!/***.** 采用流的方式读取即可解决 // /template/template.html是resource下面的文件 String template=readfile("/template/tem

Java之基于Apache jar包的FTPClient上传

首先,准备工作: http://pan.baidu.com/s/1dD1Utwt 从以上链接下载Apache的jar包,并将其复制到工程的WEB-INF下的lib包里,在此,准备工作就已经完成了. 具体java代码实现 1 FTPClient ftpClient = new FTPClient(); 2 try { 3 4 5 ftpClient.connect("ftp服务器IP"); //ftp服务器的用户名及密码,此处匿名用户,密码为空 6 boolean b = ftpClie

Maven 本地仓库明明有jar包,pom文件还是报错解决办法

方法一: 找到出错的jar包文件位置,删掉_maven.repositories文件 方法二: maven中的本地仓库的index索引没有更新导致 解决方案: 在eclipse中打开菜单 window-> show view –> other –> Maven -> maven repositories 打开之后,选择local repositories –> local repository ,右击,选择Build index. 原文地址:https://www.cnblo

spring boot工程打成JAR包到服务器上运行

只需在项目的pom.xml中加入下面插件 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin </artifactId> </plugin> <plugin> <groupId>org.springframework.boot