gpt4 book ai didi

java - 使用 HTTP URL 时,JSch 无法使用 addIdentity 找到私钥

转载 作者:行者123 更新时间:2023-12-02 03:26:09 28 4
gpt4 key购买 nike

我一直在使用 JSch 与 OpenSSH 服务器建立 SFTP 连接,在此过程中,当我尝试以 URI 的形式添加私钥作为身份时,私钥无法被识别。

当我尝试从浏览器运行该 URL 时,它工作正常。

我已经尝试了所有使用转义字符的方法,但没有成功。

Session session = null;
ChannelSftp channelSftp = null;

log.info(file.getOriginalFilename());
log.info(privatekey);
JSch jsch = new JSch();
jsch.addIdentity(this.privatekey);
log.info("identity added ");
session = jsch.getSession(username,hostname,portno);
log.info("Session Created");
session.setPassword(password);

Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setTimeout(60000);
session.connect();
log.info("session connected.....");
channelSftp = (ChannelSftp) session.openChannel("sftp");
log.info("Channel Opened.....");
log.info(channelSftp.toString());

channelSftp.setInputStream(System.in);
channelSftp.setOutputStream(System.out);
channelSftp.connect();
log.info("Channel connected.....");
//channelSftp.cd(destination);
log.info(file.getOriginalFilename());
channelSftp.put(file.getInputStream(), file.getOriginalFilename(), ChannelSftp.OVERWRITE);
channelSftp.put(file.getInputStream(),file.getOriginalFilename());


channelSftp.disconnect();
session.disconnect();

我希望必须使用添加身份来添加 key ,但不幸的是我收到以下错误

[https-jsse-nio-10443-exec-10] c.d.a.l.r.s.BlkCounterpartyServiceImpl : Error Encountered is:com.jcraft.jsch.JSchException: java.io.FileNotFoundException: http:/staging.fileserver.com/properties/xyz/xyz/xyz.ppk (No such file or directory).

此文件位于此位置 http://staging.fileserver.com/properties/xyz/xyz/xyz.ppk

最佳答案

JSch.addIdentity method 的文档说:

prvkey - the file name of the private key file. ...

“文件名” = 本地文件名的路径,而不是HTTP URL

如果您想从 HTTP 服务器下载文件(从安全角度来看这是一个糟糕的主意),您必须编写代码。

关于java - 使用 HTTP URL 时,JSch 无法使用 addIdentity 找到私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906764/

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