【问题标题】:Connect to Unix using ssh and sftp via Java [RSA SecuerID token]使用 ssh 和 sftp 通过 Java [RSA SecuerID 令牌] 连接到 Unix
【发布时间】:2013-10-18 17:15:16
【问题描述】:
我需要通过 SSH 和 SFTP 协议使用 Java 连接到 Unix 服务器,并执行特定命令并进行文件传输。但是在 Unix 上启用了 RSA 令牌身份验证。所以我需要在运行时获取当前的 RSA 令牌密码 以及用户密码。
那么如何完成这项工作
通过Java?有没有这方面的 Java API?
仅供参考,使用 putty 的 Unix 登录步骤:
- 使用服务器 IP 连接。
- 列表项
- 提供用户名。
- 给密码
- 给出 SecurID 生成的 6 位数字。
【问题讨论】:
标签:
java
unix
ssh
rsa
sftp
【解决方案1】:
这听起来像是键盘交互式身份验证。在这种身份验证机制中,服务器向用户提出一个问题,用户必须对此做出回应。任何数量的问题都是可能的,它们的顺序由服务器定义。
许多服务器都使用键盘交互式身份验证,但它通常简化为要求输入密码,因此大多数声称支持此身份验证方法的软件只会输入密码作为答案,仅此而已。
我不知道免费的 Java 库是否支持带有多个问题的键盘交互式身份验证。我们的SecureBlackbox 类有一个将问题传递给应用程序的事件,应用程序可以自己提供答案,也可以要求人工操作员提供答案。