使用两因素身份验证的 JSCH SFTP 登录

问题描述 投票:0回答:2

我正在尝试使用 JSCH 连接到 SFTP 服务器,服务器配置为两因素身份验证。但我无法在 JSCH 中找到任何同时使用密码和密钥连接到服务器的选项。 如果有人知道如何使用 JSCH 或任何其他 Java 包使用两因素身份验证以编程方式连接到 SFTP 服务器,请帮助我。

java authentication sftp jsch two-factor-authentication
2个回答
0
投票

JSch

类中有一堆
addIdentity方法,可以用来提供公钥认证的密钥对,Session类中有一个
setPassword
方法。

我会简单地使用两者并尝试连接到服务器。

SSH 协议的设计使得服务器在每个步骤中提供一组身份验证选项,然后客户端选择它支持的选项,如果我没记错代码,JSch 就会简单地执行此操作。

请报告这是否真的有效,我没有尝试过。


0
投票
正如 Paulo 所说,您可以使用

addIdentity

 添加您的私钥,同时声明您的密码。

但是这不适用于最新版本的 jsch (0.1.55)。

我发现 jsch 的

this 分支有效。 相同的代码,无需更改任何内容,我最终可以使用二因素身份验证、密码和公钥连接到服务器。

© www.soinside.com 2019 - 2024. All rights reserved.