तो मैं एक छोटा प्रोग्राम लिख रहा हूं जिसे एसएफटीपी के माध्यम से रिमोट सर्वर से कनेक्ट करने की आवश्यकता है, एक फ़ाइल खींचें, और फिर फ़ाइल को संसाधित करें। मैं यहां कुछ उत्तरों के माध्यम से जेएसएच में आया और यह कार्य के लिए बिल्कुल सही लग रहा था। अभी तक, उपयोग करने में आसान है और मुझे यह काम मिल गया है, एक मामूली चीज़ के साथ मैं ठीक करना चाहता हूं। मैं नीचे से कनेक्ट करने और फ़ाइल को खींचने के लिए निम्नलिखित कोड का उपयोग कर रहा:जावा के माध्यम से एसएफटीपी कनेक्शन अजीब प्रमाणीकरण के लिए पूछताछ
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();
}
तो यह काम करता है और मैं फ़ाइल मिलता है। मैं इस कोड को लिनक्स सर्वर पर चला रहा हूं और जब मैं कोड जेएसएच चलाता हूं तो मुझे अपने केर्बेरोस उपयोगकर्ता नाम और पासवर्ड के लिए पूछता है। ऐसा लगता है कि:
Kerberos उपयोगकर्ता नाम [जॉर्ज]: जॉर्ज के लिए
Kerberos पासवर्ड:
मैं सिर्फ दोनों प्रश्नों के लिए दर्ज करें और फिर प्रोग्राम कोई समस्या नहीं के साथ जारी करने लगता है मारा। हालांकि मुझे इस कोड को क्रॉन कार्य के माध्यम से स्वचालित करने की आवश्यकता है और इसलिए मैं इसे दो प्रश्न पूछने के लिए प्रोग्राम को रोक नहीं रहा हूं। क्या ऐसा कुछ है जिसे मैं आपूर्ति नहीं कर रहा हूं ताकि वह यह नहीं पूछ सके? पूछने से रोकने के लिए मुझे कुछ करने की ज़रूरत है? उम्मीद है कि किसी के पास कुछ विचार हैं। धन्यवाद।
भावी पीढ़ी के लिए, thuis से संबंधित हो सकता /show_bug.cgi?id=53437 – Aaron