2012-03-20 18 views
23

scp foo [email protected]:bar काम करता है ठीकSCP होस्ट कुंजी सत्यापन दूरस्थ प्रतिलिपि करने के लिए दूरदराज के लिए असफल

scp [email protected]:foo bar काम करता है ठीक

scp [email protected]:foo [email protected]:bar त्रुटि के साथ विफल:

Host key verification failed. 
lost connection 

मैं अनुमान लगा रहा हूँ इस वजह से SCP दूरस्थ करने के लिए दूरस्थ अनुमति नहीं देता है प्रतिलिपि (दो अलग-अलग रिमोट होस्ट या एक ही रिमोट होस्ट के बीच) क्योंकि यह point A से point L सेतक डेटा चैनल करने में अक्षम है point A से point B से सीधे।

क्या यह सही तर्क है कि यह क्यों काम नहीं करता है? मैन्युअल में कमांड लाइन उपयोग निर्देश कैसे दस्तावेज नहीं करते हैं? या यह सिर्फ इतना है कि मेरे उबंटू वितरण पर विशिष्ट एसपीपी पैतृक होने की कोशिश कर रहा है?

+0

ऑफ-विषय में उपलब्ध हो गया; [su] या [unix.se] –

+2

पर संबंधित है यातायात प्रत्यक्ष है। आपके पास बी को इंगित करने के लिए एल को इंगित करने के लिए बिंदु ए नहीं होगा, लेकिन बी को इंगित करने के लिए सीधी बिंदु ए। आपके पास जो भी समस्या हो सकती है, वह प्रत्येक बिंदु के बीच एसएसएच प्रमाणीकरण के बारे में है। – dAm2K

उत्तर

14

यह काम करता है। आपकी समस्या उपयोगकर्ता @ रिमोट और उपयोगकर्ता @ रिमोट के बीच एसएसएच प्रमाणीकरण है। यदि यह एक ही सर्वर पर एक ही उपयोगकर्ता है और आप आरएसए प्रमाणीकरण का उपयोग कर रहे हैं, तो आपको सार्वजनिक कुंजी (~/.ssh/id_rsa.pub) को उपयोगकर्ता के ~/.ssh/अधिकृत_keys में जोड़ना होगा।

नाम रिज़ॉल्यूशन पर भी ध्यान दें। आपके मामले में "रिमोट" एक सर्वर नाम हो सकता है जो आपके क्लाइंट को समझ में आता है, लेकिन दूरस्थ बिंदु से समझ में नहीं आता है। सर्वर आईपी का उपयोग करें (यदि सर्वर नाट के पीछे नहीं है) या अपने क्लाइंट और सर्वर मशीन पर/etc/hosts में एक सामान्य सर्वर नाम सेट करें: "दूरस्थ" आपके क्लाइंट और आपकी सर्वर मशीन से हल करने योग्य होना चाहिए।

+0

धन्यवाद - अब मैं समझता हूं। यह वही उपयोगकर्ता और एक ही रिमोट सर्वर है। – necromancer

+0

मेरे लिए काम नहीं करता है। एक ही स्थिति (एक ही उपयोगकर्ता और एक ही रिमोट सर्वर)। कुंजी संलग्न है और सर्वर आईपी का उपयोग कर im है। स्थानीय से रिमोट और पीछे काम ठीक है। – user1338413

+0

कुछ डीबग संदेशों को सक्षम करने के लिए ssh -vvv के साथ प्रयास करें और यह जांचने का प्रयास करें कि यह आपके लिए क्यों काम नहीं कर रहा है – dAm2K

2

"यह ध्यान रखना महत्वपूर्ण है कि पासवर्ड या कीबोर्ड-इंटरैक्टिव प्रमाणीकरण मोड में परिचालन करते समय एससीपी को स्रोत से गंतव्य तक दूरस्थ रूप से कॉपी करने के लिए उपयोग नहीं किया जा सकता है, क्योंकि इससे स्रोत सर्वर के प्रमाणीकरण प्रमाण-पत्र स्रोत को प्रकट होंगे।" http://en.wikipedia.org/wiki/Secure_copy#Remote_to_remote_mode

दूरस्थ रिमोट को रिमोट खींचने के लिए कुंजी-आधारित प्रमाणीकरण का उपयोग करने का प्रयास करें। विकल्प बाहर

+0

मैं कुंजी-आधारित प्रमाणीकरण का उपयोग कर रहा था, उत्तर रिमोट के लिए रिमोट के लिए प्रमाण पत्र देना है (प्रति पिछला उत्तर) – necromancer

+1

COOL यह देखने के लिए कि कितनी ग्रैन्युलरिटी सूचना स्तर विकिपीडिया पहुंच गया है !! – dAm2K

+1

सहमत हुए। विकिपीडिया * निक्स मैन पेज – Worldcrafter

42

की जांच:

-3: दो दूरदराज के मेजबान के बीच प्रतियां स्थानीय होस्ट के माध्यम से स्थानांतरित कर रहे हैं। इस विकल्प के बिना डेटा दो दूरस्थ मेजबानों के बीच सीधे कॉपी किया गया है। ध्यान दें कि यह विकल्प प्रगति मीटर को अक्षम करता है।

यह विकल्प OpenSSH 5.7

+0

के लिए एक उत्कृष्ट पूरक बन रहा है यदि आपके पास 5.7+ नहीं है और आप होस्ट 1 को मेजबान 2 पर सीधे नहीं जाना चाहते हैं या आप चाहते हैं कि rsync विशेषताएं '' dir = 'mktemp -d' && cd $ dir & rsync -avz उपयोगकर्ता 1 @ host1: ~/स्रोत। & rsync -avz।user2 @ host2: ~/dest && rm -rvf $ dir'' – KCD

+2

इसने मेरे जीवन को बहुत आसान बना दिया है! – user1943442

+0

यह उपयोगकर्ता 1 @ remote1 और user2 @ remote2 के बीच scp के लिए काम करता है। – tjmehta