如何使用 Java 自动执行质询-响应身份验证
How to automate challenge-response authentication using Java
我 Linux phone 启用了 SSH。我需要通过质询-响应身份验证连接到它。那么如何手动查看此过程,例如,使用 PuTTY:
使用 IP 和端口连接到 phone。
控制台显示"login as:" -> 输入用户名。
控制台显示:
login as: craft
Challenge: 547-04302
Product ID: 7000315107
Response:
我需要复制 Challenge,使用 Challenge 从其他服务器获取 Response,然后在控制台中输入 Response。
如何使用 Java 和一些 SSH 库(我试过 JSch,但没有挑战-响应方法)来做到这一点?我只需要将Challenge写入String,然后使用String response输入Response即可。
感谢您的帮助。
质询-响应认证也称为键盘交互认证。
JSch 库支持它。
基本上你需要实现 UIKeyboardInteractive
interface (together with the UserInfo
interface) and associate the implementation with the session using the Session.setUserInfo
.
要对单个挑战使用编程响应,只需从 UIKeyboardInteractive.promptKeyboardInteractive
method 的 prompt[0]
参数和 return 带有响应的单个元素数组中收集挑战。
我 Linux phone 启用了 SSH。我需要通过质询-响应身份验证连接到它。那么如何手动查看此过程,例如,使用 PuTTY:
使用 IP 和端口连接到 phone。
控制台显示"login as:" -> 输入用户名。
控制台显示:
login as: craft
Challenge: 547-04302
Product ID: 7000315107Response:
我需要复制 Challenge,使用 Challenge 从其他服务器获取 Response,然后在控制台中输入 Response。
如何使用 Java 和一些 SSH 库(我试过 JSch,但没有挑战-响应方法)来做到这一点?我只需要将Challenge写入String,然后使用String response输入Response即可。
感谢您的帮助。
质询-响应认证也称为键盘交互认证。
JSch 库支持它。
基本上你需要实现 UIKeyboardInteractive
interface (together with the UserInfo
interface) and associate the implementation with the session using the Session.setUserInfo
.
要对单个挑战使用编程响应,只需从 UIKeyboardInteractive.promptKeyboardInteractive
method 的 prompt[0]
参数和 return 带有响应的单个元素数组中收集挑战。