gpt4 book ai didi

java - SFTP 连接错误

转载 作者:行者123 更新时间:2023-12-02 11:18:38 26 4
gpt4 key购买 nike

我在程序中使用 jsch-0.1.51.jar 进行 sftp 连接,过去 1 年工作正常,但突然程序开始抛出错误:

Algorithm negotiation fail. Below code: 
=========================================
jsch.addIdentity(sftpIdentityFilePath);
logger.info("*****************Getting SFTP Connection******************");
session = jsch.getSession(sftpUser, sftpHost, 2222);
System.out.println("crossed seesion initialize");
session.setConfig("StrictHostKeyChecking", "no");
System.out.println("crossed seesion config");
session.connect();
System.out.println("crossed seesion connect");
channel= session.openChannel("sftp");
System.out.println("sftp server connected");
logger.info("SFTP server connected");
channel.connect();
logger.info("*****************SFTP Connected******************");


==============================================================

发现问题后,我使用了 jsch-0.1.54.jar 的更新 jar。但它抛出了不同的异常

2018-04-28 18:17:51 ERROR FileCopyMain:978 - 
Session.connect: java.io.IOException: End of IO Stream Read

此外,在这两种情况下,当我尝试从 Eclipse IDE 运行该程序时,它都工作正常。但是当我创建这个 Java 代码的 jar 文件时,我遇到了这些问题。

此 SFTP 连接代码的上下文:我正在使用私钥连接服务器以将文件下载到本地

有人可以帮我解决这个问题吗?

最佳答案

Algorithm negotiation fail.

这意味着客户端和服务器端无法就用于保证 SSH 连接安全的加密算法达成一致。当发生这种情况时,服务器端将关闭连接,导致您看到的 IOException。

最可能的解释是客户端 SSH 实现已经过时,或者服务器端 SSH 实现已经过时。 jcsh“DEBUG”日志记录中应该有一些线索;请参阅JSch logger - where can I configure the level 。如果失败,请查看服务器端的日志。

解决方案将取决于您发现的内容。

关于java - SFTP 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50082387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com