3

我有启用 SSH 的 Linux 手机。我需要通过质询-响应身份验证连接到它。那么如何手动查看这个过程,例如,使用 PuTTY:

  1. 使用 IP 和端口连接到手机。

  2. 控制台显示“登录为:”-> 输入用户名。

  3. 控制台显示:

    登录为:工艺

    挑战:547-04302
    产品编号:7000315107

    回复:

  4. 我需要复制挑战,使用挑战从其他服务器获取响应并在控制台中输入响应。

我如何使用 Java 和一些用于 SSH 的库来做到这一点(我试过 JSch,但没有挑战响应的方法)?我只需要将挑战写入字符串,然后使用字符串响应输入响应。

感谢帮助。

4

1 回答 1

1

质询-响应身份验证也称为键盘交互身份验证。

它由 JSch 库支持。

请参阅官方JSchUserAuthKI示例

基本上,您需要实现UIKeyboardInteractive接口(连同UserInfo接口)并使用Session.setUserInfo.

要对单个质询使用程序化响应,只需从方法prompt[0]的参数中收集质询并返回带有响应的单个元素数组。UIKeyboardInteractive.promptKeyboardInteractive

于 2015-12-17T09:04:22.933 回答