我正在尝试使用 Jsch 在 Java 中建立 SSH 连接。我已将“StrictHostKeyChecking”设置为是。我知道在第一次尝试连接到服务器之前,必须事先获取服务器的主机密钥并将其存储在主机密钥文件中。如何获取服务器的 HostKey。我的代码产生以下异常:
com.jcraft.jsch.JSchException: UnknownHostKey: ASY-PC RSA 密钥指纹是 22:fb:ee:fe:18:cd:aa:9a:9c:78:89:9f:b4:78:75:b4
如何与 StrictHostKeyChecking 建立连接 Yes。这是我的代码。
package sshexample;
import com.jcraft.jsch.*;
import java.io.*;
public class SSHexample
{
public static void main(String[] args)
{
String user = "user";
String password = "password";
String host = "192.168.100.103";
int port=22;
try
{
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "yes");
System.out.println("Establishing Connection...");
session.connect();
System.out.println("Connection established.");
System.out.println("Crating SFTP Channel.");
ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
sftpChannel.connect();
}catch(Exception e) {
e.printStackTrace();
}
}