Re: [JSch-users] JSCH help!!!
Status: Alpha
Brought to you by:
ymnk
From: <ym...@jc...> - 2003-10-27 07:52:38
|
Hi, +-From: "Sidambara Raja Krishnaraj" <Sid...@in...> -- |_Date: Mon, 27 Oct 2003 11:29:37 +0530 _________________________ | |Hi All, |We are currently working on a project where we need to |use SFTP for file transfer. We are using Apache-VFS for the |same which internally uses jsch for SSH file transfer. When |we try to transfer the file we get following exception from jsch: |com.jcraft.jsch.JSchException: UnknownHostKey | at com.jcraft.jsch.Session.checkHost(Unknown Source) | at com.jcraft.jsch.Session.connect(Unknown Source) | at org.apache.commons.vfs.provider.sftp.SftpFileSystem.getChannel(SftpFileS |ystem.java:120) |We are in the critical state in the project. I would appreciate if |somebody could get back on the solution for the above problem. I'm not famiilar with how jsch is integrated into org.apache.commons.vfs.provider.sftp packages, but I think there are some ways for that problem. (1) set 'StrickHostKeyChecking' as 'no'. Suppose that you have 'session' which is an instance of com.jcraft.jsch.Session, java.util.Hashtable config=new java.Util.Hashtable(); config.put("StrickHostKeyChecking", "no"); session.setConfig(config); (2) give jsch the 'known_hosts' file, which includes the remote hostkey. Suppose that you have 'jsch' which is an instance of com.jcraft.jsch.JSch, jsch.setKnownHosts("pathname of known_hosts"); (3) set an instance of com.jcraft.jsch.UserInfo to session, UserInfo ui=new YourUserInfo(); jsch.setUserInfo(ui); ui.promptYesNo method will be invoked to prompt if remote hostkey is acceptable or not. From the security point of view, I will not recommend (1) , however if the promptYesNo method defined in (3) does not prompt for the human and always return true, there may not be any difference between (1) and (3). If your program runs in the batch mode, I will recommend (2). Thanks, -- ymnk |