2011-06-15 12 views
13

मेरे पास एक आवश्यकता है: दूरस्थ फ़ाइलों को स्थानीय फ़ाइलों की प्रतिलिपि बनाएँ। मैं निम्नलिखित किया है:चींटी स्कैप कार्य विफलता

  1. डाउनलोड किया jsch-0.1.44.jar और चींटी
  2. की lib फ़ोल्डर में प्रतिलिपि पथ और हर चीज सेट

मेरे buildfile है:

BUILD FAILED com.jcraft.jsch.JSchException: reject HostKey: 10.184.74.168 
    at com.jcraft.jsch.Session.checkHost(Session.java:712) 
    at com.jcraft.jsch.Session.connect(Session.java:313) 
    at com.jcraft.jsch.Session.connect(Session.java:154) 
    at org.apache.tools.ant.taskdefs.optional.ssh.SSHBase.openSession(SSHBase.java:212) 
    at org.apache.tools.ant.taskdefs.optional.ssh.Scp.upload(Scp.java:291) 
    at org.apache.tools.ant.taskdefs.optional.ssh.Scp.execute(Scp.java:203) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
    ... etc ... 
:
<project name="ImportedBuild" default="all"> 
    <target name="copyFileToRemote"> 
    <echo>2222222222 copyFileToRemote Examples:::::::::::::</echo> 
    <scp file="sample.txt" todir="${username}:${password}@${hostname}:/shared"/> 
    </target> 
</project> 

जब मैं चींटी चलाने के लिए, मैं इस त्रुटि मिलती है

कोई विचार यह कैसे हल करें?

+0

बिल्डफ़ाइल को शामिल करने के लिए अपने प्रश्न निकाय को संपादित करना उचित होगा। आप उन्हें पढ़ने के लिए थोड़ा आसान बनाने के लिए कोड, लॉग इत्यादि भी प्रारूपित कर सकते हैं। –

उत्तर

33

Ant scp task डॉक्स के अनुसार, trust विशेषता:

This trusts all unknown hosts if set to yes/true. Note If you set this to false (the default), the host you connect to must be listed in your knownhosts file, this also implies that the file exists.

trust विशेषता अपने कार्य को कॉल में, नहीं किया जाता है तो ऐसा लगता है कि मेजबान (10.184.74.168) अपने knownhosts फ़ाइल में नहीं है। सुझाव दें कि आप trust="true" जोड़ें, या ज्ञातहोस्ट फ़ाइल में होस्ट जोड़ें।

+3

मैंने इसे भी दिया है ... अभी भी एक ही त्रुटि दिखा रहा है – user617228

+0

@ user617228 मेजबान पहले से ही आपके ज्ञात_होस्ट में है लेकिन एक अलग मेजबान के साथ है? ज्ञात_होस्ट में इस होस्ट के लिए सभी प्रविष्टियों को हटाने का प्रयास करें और ट्रस्ट = "सत्य" – oers

+0

@ मार्टिन क्लेटन के साथ परीक्षण करें: यह मेरे लिए काम करता है बहुत बढ़िया –

3

सुनिश्चित करें कि आपकी ~/.ssh/known_hosts फ़ाइल गैर-होस्टेड होस्टनाम का उपयोग कर रही है; यदि लाइनें |1|base64data... शुरू करती हैं, तो जेएसएच उन्हें पार्स करने में असमर्थ दिखाई देता है। hostname[,hostname|ip]* ssh-keytype base64data... प्रारूप की रेखाएं बनाएं।

ज्ञात_होस्ट के सटीक प्रारूप पर man 8 sshd देखें, और मेजबान की सार्वजनिक कुंजी कहां खोजें।

+0

आपके संकेत ने मुझे मेरी समस्या को हल करने में मदद की। हालांकि मुझे JSCH इंटरफेस के माध्यम से मैन्युअल रूप से ज्ञात_होस्ट फ़ाइल उत्पन्न करना पड़ा। ऐसा लगता है कि जेएसएच समर्थित प्रारूपों पर काफी चुनिंदा है। –

संबंधित मुद्दे