首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SFTP连接错误

问SFTP连接错误
EN

Stack Overflow用户
提问于 2018-04-29 00:49:49
回答 1查看 3.7K关注 0票数 0

我在我的程序中使用jsch-0.1.51.jar作为sftp连接,它在过去的一年里运行良好,但是突然程序开始抛出错误:

代码语言:javascript
复制
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******************");


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

在发现问题后,我使用了一个更新的jar来jsch-0.1.54.jar。但它却抛出了另一个例外

代码语言:javascript
复制
2018-04-28 18:17:51 ERROR FileCopyMain:978 - 
Session.connect: java.io.IOException: End of IO Stream Read

同样,在这两种情况下,当我试图从Eclipse运行这个程序时,它都正常工作。但是,当我创建这个Java代码的jar文件时,我就得到了这些问题。

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

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

EN

回答 1

Stack Overflow用户

发布于 2018-04-29 03:49:07

算法协商失败。

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

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

解决办法将取决于你发现了什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50082387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档