Я пытаюсь использовать JSch в Java для подключения к одному из моих экземпляров EC2, но продолжаю получать сообщение об исключении «UnknownHostKey». Вот это (часть) мой код:Не удается подключиться к SSH в Java
import com.jcraft.jsch.*;
import java.io.*;
public class JSchTest {
private String serverIp;
public void testSshConnection() {
try {
JSch jsch = new JSch();
jsch.addIdentity("C:\\Users\\Administrator\\.ssh\\id_rsa");
Session session = jsch.getSession("ec2-user", serverIp, 22);
session.connect(30000); // <-- this is where the exception is thrown
ChannelExec channel = (ChannelExec)session.openChannel("shell");
// more code here...
channel.disconnect();
session.disconnect();
} catch (JSchException|IOException ex) {
ex.printStackTrace();
}
}
public void setServerIp(String serverIp) {
this.serverIp = serverIp;
}
}
Я уже добавил свой открытый ключ в authorized_keys
файл на экземпляре EC2, что я подключаюсь, и я знаю, что это работает, потому что я могу подключиться к нему используя PuTTY. Однако, как только я попал в линию с session.connect()
в нем, я получаю исключение, как это:
com.jcraft.jsch.JSchException: UnknownHostKey: 10.114.2.115. RSA отпечатков пальцев ключ 63: 04: ср: 60: 4a: 1d: 47: 35: 12: 0e: 56: 4f: 5б: 0A: с9: d4
Что мне не хватает? Как я могу подключиться?
Возможный дубликат [com.jcraft.jsch.JSchException: UnknownHostKey] (http://stackoverflow.com/questions/2003419/com-jcraft-jsch-jschexception-unknownhostkey) –