Java ssh客户端

Java ssh客户端,java,swing,ssh,Java,Swing,Ssh,我正在尝试创建一个web应用程序,它将检查多个服务状态、服务器状态等。我发现这似乎是一个非常好的ssh java实现。但每次登录到服务器时,系统都会提示我确认RSA密钥指纹,如下所示: 如何在没有任何提示的情况下覆盖此选项以始终确认是?我想删除整个swing部分,我想在不进行任何交互的情况下实现它,就像我从jscraft.com上的示例中获取的示例代码: 一般来说,我对swing和java不太熟悉 签出签出您必须理解为什么会弹出此消息 SSH是一种安全服务,这意味着客户机的身份和服务器的身份

我正在尝试创建一个web应用程序,它将检查多个服务状态、服务器状态等。我发现这似乎是一个非常好的ssh java实现。但每次登录到服务器时,系统都会提示我确认RSA密钥指纹,如下所示:

如何在没有任何提示的情况下覆盖此选项以始终确认是?我想删除整个swing部分,我想在不进行任何交互的情况下实现它,就像我从jscraft.com上的示例中获取的示例代码:


一般来说,我对swing和java不太熟悉

签出

签出

您必须理解为什么会弹出此消息

SSH是一种安全服务,这意味着客户机的身份和服务器的身份都得到了保证。为了确保您实际访问了您想要访问的服务器(关于您如何可能在不知情的情况下连接到错误的服务器,请参阅google“DNS缓存中毒”),客户端将显示收到的服务器名称和指纹。这些值标识服务器。您应该通过安全通道(例如,通过与服务器管理员的电话)比较指纹,来查看这是否是您在服务器上生成的指纹


话虽如此,通常的SSH客户端会保存您接受指纹/服务器名称的决定,并且不再询问。看来你的客户没有。因此,您可以选择更改源代码(如果它是在开放许可证下获得许可的),也可以找到一种方法,在出现此问题时自动按“是”(这可以通过Autoit 3之类的工具包通过非常短的脚本实现)。

您必须理解为什么会弹出此消息

SSH是一种安全服务,这意味着客户机的身份和服务器的身份都得到了保证。为了确保您实际访问了您想要访问的服务器(关于您如何可能在不知情的情况下连接到错误的服务器,请参阅google“DNS缓存中毒”),客户端将显示收到的服务器名称和指纹。这些值标识服务器。您应该通过安全通道(例如,通过与服务器管理员的电话)比较指纹,来查看这是否是您在服务器上生成的指纹


话虽如此,通常的SSH客户端会保存您接受指纹/服务器名称的决定,并且不再询问。看来你的客户没有。因此,您可以选择更改源代码(如果它是在开放许可证下获得许可的),也可以找到一种方法,在出现此问题时自动按“是”(这可以通过Autoit 3之类的工具包通过非常短的脚本实现)。

或者找到一种方法,在出现此问题时自动按“是”(这可以通过像Autoit 3这样的工具包通过一个很短的脚本来实现)。
这是我感兴趣的部分,我阅读了你文章中的其他内容,这就是为什么我要问一个答案,我不知道如何使用像“Autoit 3”这样的软件来做到这一点,您可以自动执行windows任务,如运行或关闭应用程序、按下按钮、移动鼠标等。它使用一种非常简单的脚本语言编程,可以在10分钟内掌握。请访问。
,或找到一种方法,在出现此问题时自动按“是”(这可以通过像Autoit 3这样的工具包通过一个很短的脚本来实现)。
这是我感兴趣的部分,我阅读了你文章中的其他内容,这就是为什么我要问一个答案,我不知道如何使用像“Autoit 3”这样的软件来做到这一点,您可以自动执行windows任务,如运行或关闭应用程序、按下按钮、移动鼠标等。它使用非常简单的脚本语言编程,只需10分钟即可掌握。请访问。
   public class ManoUserInfo implements UserInfo {

String passwd;

public void setPassword(String pass) {
    passwd = pass;
}

@Override
public String getPassphrase() {
    return null;
}

public String getPassword() {
    return passwd;
}

public boolean promptPassword(String arg0) {
    return true;

}

public boolean promptPassphrase(String arg0) {
    return true;
}
//this method responsible for that message, so just make it return true
public boolean promptYesNo(String arg0) {
  //  Object[] options = {"yes", "no"};
  /*  int foo = JOptionPane.showOptionDialog(null,
            arg0,
            "Warning",
            JOptionPane.DEFAULT_OPTION,
            JOptionPane.WARNING_MESSAGE,
            null, options, options[0]);*/
    return true;
}

public void showMessage(String message) {
    JOptionPane.showMessageDialog(null, message);
}