【发布时间】:2019-05-17 17:26:57
【问题描述】:
我可以使用 WinScp(sftp 客户端应用程序)连接到我们的 SFTP 服务器,但在此之前我需要使用 MFA 在本地建立会话。 现在我正在尝试使用 JSch 以编程方式实现这一点,但我得到了 SocketTimeoutException 因为我认为它需要以编程方式完成相同的 MFA 设置,如果我的理解是正确的,那么有没有办法使用 JSch 来实现这一点?
JSch jsch = new JSch();
Session session = jsch.getSession(userName, hostName, 22);
session.setPassword(password);
session.connect();
它在 session.connect() 处抛出异常。
【问题讨论】:
-
WinSCP 和 MFA 的设置是什么?你能在这里展示一下吗? JSch中有配置选项,例如
session.setConfig("StrictHostKeyChecking", "no");。 -
我也尝试过使用 StrictHostKeyChecking,但没有成功。关于设置 - 我们有一个 url,我们需要在其中输入我们的 id 和来自 MFA 应用程序的令牌。之后,我们可以连接到客户端(例如 aba.com)网络中的服务器。
-
好吧,我真的不知道解决方案。我会检查所有可能的配置,也许你的用例已经被覆盖了。从JavaDocs of JSch 开始。还有another possibly related question。