所以我写了一个小程序,需要通过SFTP连接到远程服务器,拉下一个文件,然后处理文件。 我碰到JSch通过一些答案在这里,它的任务看起来完美。 到目前为止,易于使用,我找到了工作,与我想解决一个次要的事情。 我使用下面的代码来连接和拉下来的文件:
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession("username", "127.0.0.1", 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("password");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.cd(REMOTE_FTP_DIR);
sftpChannel.lcd(INCOMING_DIR);
sftpChannel.get(TMP_FILE, TMP_FILE);
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
所以这工作,我得到的文件。 我跑在Linux服务器上的代码,当我运行代码JSch问我要我的Kerberos的用户名和密码。 看起来像:
Kerberos用户名字[乔治]:
Kerberos口令乔治:
我刚打了两个问题进入,然后程序似乎继续,没有任何问题。 不过,我需要这个代码通过cron任务实现自动化,所以我宁愿不让它暂停程序来问我这两个问题。 有什么事我不提供它,这样就不会问这个? 这是我需要做什么来阻止它要求? 希望有人有一些想法。 谢谢。