無論javaweb應用的sftp功能運行在Tomcat服務器,還是weblogic服務器都會報如下錯:
com.jcraft.jsch.JSchException: Algorithm negotiation fail
at com.jcraft.jsch.Session.receive_kexinit(Session.java:582)
at com.jcraft.jsch.Session.connect(Session.java:320)
最開始我們的Linux服務器 ssh版本是這樣的:
$ ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
服務器升級到
OpenSSH_8.2p1, OpenSSL 1.1.1g 21 Apr 2020
升級后通過SFTP下載文件時,就報了 Algorithm negotiation fail 錯誤.
解決辦法是 : 我們將JDK6升級到了JDK7 解決了該問題.
jsch-0.1.50.jar 這個版本的jar包我們並沒有做升級處理。(雖然現在最新版本已經到了 jsch-0.1.55.jar)
補充一點: weblogic 服務器的 jdk6 變更為 jdk7 的方式



