linux sftp连接报错:JSchException: Algorithm negotiation fail解决方案

问题描述

我们用jsch包进行ssh登录的时候会报这个错误:

com.jcraft.jsch.JSchException: Algorithm negotiation fail
at com.jcraft.jsch.Session.receive_kexinit(Session.java:583) ~[jsch-0.1.51.jar:na]
at com.jcraft.jsch.Session.connect(Session.java:320) ~[jsch-0.1.51.jar:na]

问题原因


不同的ssh版本,默认采用的密算法不一样。既然没有了原来的一些加密算法,那么久手工添加进去就可以了。

 

解决方法


1、用root登录服务器

2、在、/etc/ssh/sshd_config文件中最后添加一行:

KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

3.重启sshd服务

service sshd restart

posted @ 2020-04-11 11:17  JackGIS  阅读(3570)  评论(0编辑  收藏  举报