Wie zu beheben Java UnknownHostKey, während mit JSch SFTP-Bibliothek?

Bin ich mit einem java-Programm, wo ich die übertragung einer Datei von einem Ordner zu einem anderen, mit Java SFTP. Das problem das ich habe ist, dass ich immer folgende Fehler in meinem Java SFTP (mit JSch) :

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\classes;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.
RSA-Schlüssel Fingerabdruck ist a2:39:3f:44:88:e9:1f:d7:d1:71:f4:85:98:fb:90:dc
bei com.jcraft.jsch.Sitzung.checkHost(Session.java:797)
com.jcraft.jsch.Sitzung.die Verbindung(Session.java:342) at
com.jcraft.jsch.Sitzung.die Verbindung(Session.java:183) at
FileTransfer.main(FileTransfer.java:33) - Prozess beendet mit exit-code
0.

Folgendes ist mein code bisher:

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

Mein Cygwin eingerichtet ist, und ich überprüft (mit netstat -a -b ), dass es läuft.

InformationsquelleAutor Coffee | 2015-09-29

Schreibe einen Kommentar