Używam programu java, w którym przesyłam plik z jednego folderu do drugiego za pomocą Java SFTP. Problem mam jest to, że ja otrzymuję następujący błąd w moim Java SFTP (używając jsch):Jak rozwiązać problem Java UnknownHostKey podczas korzystania z biblioteki 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 \ 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. Kluczowy odcisk palca RSA to a2: 39: 3f: 44: 88: e9: 1f: d7: d1: 71: f4: 85: 98: fb: 90: dc na com.jcraft.jsch.Session.checkHost (Sesja. java: 797) pod adresem com.jcraft.jsch.Session.connect (Session.java: 342) pod adresem com.jcraft.jsch.Session.connect (Session.java:183) pod adresem FileTransfer.main (FileTransfer.java: 33) Proces zakończony z kodem wyjścia 0.
Oto mój kod do tej pory:
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 jest skonfigurowana, a sprawdziłem (z netstat -a -b
), że to działa.
Jak zrobić krok "skonfiguruj oczekiwany klucz hosta, aby umożliwić JSch jego weryfikację." , dzięki – Coffee
Dodałem przykład do generowania pliku 'known_hosts'. –
Próbowałem uruchomić 'ssh-keyscan example.com> known_hosts' w Cygwin (w systemie Windows), ale nie jestem pewien, co zrobić dalej .. czy jest on pobrany na moim komputerze? dzięki – Coffee