Tôi đang chạy chương trình java nơi tôi chuyển tệp từ một thư mục này sang thư mục khác, sử dụng Java SFTP. Vấn đề tôi đang gặp là tôi nhận được lỗi sau trong Java SFTP của tôi (sử dụng JSch):Làm thế nào để giải quyết Java UnknownHostKey, trong khi sử dụng thư viện JSch SFTP?
C: \ Oracle \ Middleware \ ORACLE_HOME \ oracle_common \ jdk \ bin \ javaw.exe - server -classpath C: \ JDeveloper \ mywork \ Java_Hello_World.adf; C: \ JDeveloper \ mywork \ Java_Hello_World \ Client \ lớp; C: \ Users \ ADMIN \ Downloads \ jsch-0.1.53.jar -Djavax.net.ssl .trustStore = C: \ Users \ IBM_AD ~ 1 \ AppData \ Local \ Temp \ trustStore5840796204189742395.jks FileTransfer com.jcraft.jsch.JSchException: UnknownHostKey: 127.0.0.1. Dấu vân tay khóa RSA là a2: 39: 3f: 44: 88: e9: 1f: d7: d1: 71: f4: 85: 98: fb: 90: dc tại com.jcraft.jsch.Session.checkHost (Phiên. java: 797) tại com.jcraft.jsch.Session.connect (Session.java:342) tại com.jcraft.jsch.Session.connect (Session.java:183) tại FileTransfer.main (FileTransfer.java: 33) Quy trình thoát với mã thoát 0.
sau đây là mã của tôi cho đến nay:
FileTransfer fileTransfer = new FileTransfer();
JSch jsch = new JSch();
try {
String host = "127.0.0.1";
int port = 22;
String user = "user";
Session session = jsch.getSession(user, host, port);
session = jsch.getSession("username", "127.0.0.1", 22);
session.connect(); // bug here , java.net.ConnectException
ChannelSftp sftp = null;
sftp = (ChannelSftp)session.openChannel("sftp") ; //channel;
//extra config code
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
// end extra config code
sftp.rename("C:\\Users\\ADMIN\\Desktop\\Work\\ConnectOne_Bancorp\\Java_Work\\SFTP_1\\house.bmp", "C:\\Users\\ADMIN\\Desktop\\Work\\ConnectOne_Bancorp\\Java_Work\\SFTP_2\\house.bmp");
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
} //end-catch
My Cygwin được thiết lập, và tôi đã kiểm tra (với netstat -a -b
) nó đang chạy.
Làm cách nào để thực hiện bước "thiết lập khóa máy chủ dự kiến để JSch xác minh điều đó". , cảm ơn – Coffee
Tôi đã thêm một ví dụ để tạo tệp 'known_hosts'. –
Tôi đã thử chạy 'ssh-keyscan example.com> known_hosts' trong Cygwin (trên Windows), nhưng tôi không biết phải làm gì tiếp theo ở đây .. nó có được tải xuống máy của tôi không? thanks – Coffee