当前位置: 首页 > 面试题库 >

Java com.jcraft.jsch.JSchException:UnknownHostKey

秦禄
2023-03-14
问题内容

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

com.jcraft.jsch.JSchException: UnknownHostKey: mywebsite.com. 
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.com";
            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);
        } 
    }
}

问题答案:

我会:

  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文件中)具有我的偏好。



 类似资料:

相关阅读

相关文章

相关问答