com.jcraft.jsch.JSchException:UnknownHostKey [英] com.jcraft.jsch.JSchException: UnknownHostKey
本文介绍了com.jcraft.jsch.JSchException:UnknownHostKey的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 Jsch 在Java中建立SSH连接。我的代码产生以下异常:
I'm trying to use Jsch to establish an SSH connection in Java. My code produces the following exception:
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文档中验证主机密钥。我在下面提供了我的代码。
I cannot find how to verify the host key in the Jsch documentation. I have included my code below.
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);
}
}
}
推荐答案
我要么:
- 从命令行尝试
ssh
并接受公钥(主机将被添加到〜/ .ssh / known_hosts
,然后一切都可以从Jsch正常工作) -OR - -
使用以下代码将JSch配置为不使用StrictHostKeyChecking(这会引入不安全因素并且仅用于测试目的):
- Try to
ssh
from the command line and accept the public key (the host will be added to~/.ssh/known_hosts
and everything should then work fine from Jsch) -OR- Configure JSch to not use "StrictHostKeyChecking" (this introduces insecurities and should only be used for testing purposes), using the following code:
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
选项#1(将主机添加到〜/ .ssh / known_hosts
file)有我的偏好。
Option #1 (adding the host to the ~/.ssh/known_hosts
file) has my preference.
这篇关于com.jcraft.jsch.JSchException:UnknownHostKey的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文