gpt4 book ai didi

java - 如何使用 jsch 以编程方式进行身份验证?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:14 27 4
gpt4 key购买 nike

我想通过 sftp 将文件上传到远程服务器。我正在使用 Jsch 库。下面的代码有效,但我总是必须通过输出控制台输入用户名和密码,即使我已经在 Session 对象中设置了这些值。我在 Stack Overflow 和 Jsch 示例中看到的每个示例 page需要用户输入。有没有办法以编程方式传递密码? (我需要通过用户名/密码进行身份验证。我不能使用 SSH key ...)

    JSch jsch = new JSch();
ChannelSftp sftpChannel;
Session session;
Channel channel;
OutputStream os;

try {

session = jsch.getSession("myUsername", "myHost", 22);
session.setPassword("myPassword");
session.setConfig("StrictHostKeyChecking", "no");
session.connect();

channel = session.openChannel("sftp");
channel.connect();
sftpChannel = (ChannelSftp) channel;
os = sftpChannel.getOutputStream();

} catch (Exception e) {
}

最佳答案

您需要添加以下代码:

jsch.addIdentity("<Key_path>"); // replace the key_path with actual value
session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password");

谢谢

关于java - 如何使用 jsch 以编程方式进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18835756/

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