gpt4 book ai didi

java - 在 Java 中使用 ssh2 连接到受 RSA SecurID 保护的 linux 系统

转载 作者:太空狗 更新时间:2023-10-29 12:39:34 25 4
gpt4 key购买 nike

我想创建从 Windows 系统到使用 RSA token 密码进行身份验证的 Linux 机器的连接,我想运行 shell 命令并从 Java 代码获取输出。使用 putty 登录该 Linux 系统时有以下步骤:

  1. 输入IP和端口并连接
  2. 在要求“登录为:”的 PuTTY 终端中输入用户名
  3. 在我们输入 RSA SecurID 的地方输入 PASSCODE

我已经尝试使用 Jsch 包进行连接,但无法连接。我还尝试了 jcabi-ssh ( http://ssh.jcabi.com/ ),它是 Jsch 的包装器。它们似乎都不适合我。

编辑:我通过 Jsch 包使用了以下代码

        String host = "xxx";
String user = "xxx";
String password;

Scanner scanner = new Scanner (System.in);
System.out.println("Enter rsa token: ");
password = scanner.nextLine();

Session session = jsch.getSession(user, host, 2222);
session.setPassword(password);
session.connect();

之后出现以下错误:

com.jcraft.jsch.JSchException:UnknownHostKey:myservername。 RSA key 指纹为 ba:2b:70:2f:4f:fa:f6:20:31:56:e0:e8:8b:16:46:c9

我找到了一个解决方案,有人说包括这段将 StrictHostKeyChecking 设置为“否”的代码:

    java.util.Properties config = new java.util.Properties(); 
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);

然后我的错误变成了:

com.jcraft.jsch.JSchException: Auth cancel

尝试使用其他 jcabi-ssh 实现会得到类似的结果。

最佳答案

您正在寻找的是一个对话框,它将在那个时间点接受密码并建立连接。这是集成 RSA SecureId 所需的 - http://www.jcraft.com/jsch/examples/UserAuthPubKey.java.html

关于java - 在 Java 中使用 ssh2 连接到受 RSA SecurID 保护的 linux 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51166570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com