jsCH отлично сработал для меня. Ниже приведен пример метода, который подключается к серверу sftp и загружает файлы в указанный каталог. Рекомендуется держаться подальше от отключения StrictHostKeyChecking. Хотя настройка немного сложнее, по соображениям безопасности указание известных хостов должно быть нормой.
jsch.setKnownHosts ("C: \ Users \ test \ known_hosts"); рекомендуется
JSch.setConfig ("StrictHostKeyChecking", "no"); - не рекомендуется
import com.jcraft.jsch.*;
public void downloadFtp(String userName, String password, String host, int port, String path) {
Session session = null;
Channel channel = null;
try {
JSch ssh = new JSch();
JSch.setConfig("StrictHostKeyChecking", "no");
session = ssh.getSession(userName, host, port);
session.setPassword(password);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftp = (ChannelSftp) channel;
sftp.get(path, "specify path to where you want the files to be output");
} catch (JSchException e) {
System.out.println(userName);
e.printStackTrace();
} catch (SftpException e) {
System.out.println(userName);
e.printStackTrace();
} finally {
if (channel != null) {
channel.disconnect();
}
if (session != null) {
session.disconnect();
}
}
}