我正在尝试使用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); } } }
我会:
ssh
~/.ssh/known_hosts
java.util.Properties config = new java.util.Properties();
config.put(“StrictHostKeyChecking”, “no”); session.setConfig(config);
选项#1(将主机添加到~/.ssh/known_hosts文件)有我的偏好。