因此,我正在寫一個小程序,需要通過SFTP連接到遠程服務器,拉下文件,然後處理文件。我在這裏遇到了JSch的一些答案,它看起來非常適合這項任務。到目前爲止,易於使用,我有它的工作,與我想修復的一件小事。我正在使用下面的代碼來連接和拉下文件:通過Java請求奇怪的身份驗證的SFTP連接
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任務來自動執行此代碼,所以我寧願不讓它暫停程序來問我這兩個問題。有沒有我不提供它,所以它不會問這個?我需要做些什麼來阻止它的問題?希望有人有一些想法。謝謝。
對於後代,的Thuis可以涉及:https://issues.apache.org/bugzilla /show_bug.cgi?id=53437 – Aaron