小编典典

com.jcraft.jsch.JSchException: UnknownHostKey

all

我正在尝试使用Jsch在 Java 中建立 SSH 连接。我的代码产生以下异常:

com.jcraft.jsch.JSchException: UnknownHostKey: mywebsite.example.
RSA key fingerprint is 22:fb:ee:fe:18:cd:aa:9a:9c:78:89:9f:b4:78:75:b4

我在 Jsch 文档中找不到如何验证主机密钥。我在下面包含了我的代码。

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

public class ssh {
    public static void main(String[] arg) {

        try {
            JSch jsch = new JSch();

            //create SSH connection
            String host = "mywebsite.example";
            String user = "username";
            String password = "123456";

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

        } catch(Exception e) {
            System.out.println(e);
        }
    }
}

阅读 219

收藏
2022-07-01

共1个答案

小编典典

我会:

  1. 尝试ssh从命令行并接受公钥(主机将被添加到~/.ssh/known_hosts,然后一切都应该从 Jsch 正常工作) -或-
  2. 使用以下代码将 JSch 配置为不使用“StrictHostKeyChecking”(这会引入不安全性,仅应用于测试目的):
    java.util.Properties config = new java.util.Properties();
    

    config.put(“StrictHostKeyChecking”, “no”);
    session.setConfig(config);

选项#1(将主机添加到~/.ssh/known_hosts文件)有我的偏好。

2022-07-01