我有启用SSH的Linux手机。我需要通过质询 - 响应身份验证连接到它。那么如何手动查看此过程,例如,使用PuTTY:
使用IP和端口连接到手机。
控制台显示“登录为:” - >输入用户名。
控制台显示:
登录为:craft
挑战:547-04302
产品编号:7000315107响应:
我需要复制Challenge,使用Challenge从其他服务器获取响应,并在控制台中输入Response。
我如何使用Java和SSH的一些库(我尝试过JSch,但没有挑战响应的方法)?我只需要将Challenge写入String,然后使用String响应输入Response。
感谢您的帮助。
答案 0 :(得分:1)
质询 - 响应身份验证也称为键盘交互式身份验证。
它受JSch库支持。
基本上,您需要实施UIKeyboardInteractive
interface(与UserInfo
interface一起)并使用Session.setUserInfo
将实施与会话相关联。
要对单个挑战使用程序化响应,只需从UIKeyboardInteractive.promptKeyboardInteractive
method的prompt[0]
参数中收集挑战,然后返回带有响应的单个元素数组。