/ / पर्ल नेट :: एसएफटीपी :: विदेशी पासवर्ड प्रमाणीकरण। कोई कुंजी विनिमय सेटअप नहीं किया जा सकता है - perl, ssh, sftp

पर्ल नेट :: एसएफटीपी :: विदेशी पासवर्ड प्रमाणीकरण। कोई कुंजी विनिमय सेटअप नहीं किया जा सकता है - perl, ssh, sftp

मुझे नेट :: एसएफटीपी :: मिलाविदेशी मॉड्यूल स्थापित है और यह कुंजी-एक्सचेंज एसएफटीपी सेट-अप के लिए ठीक काम किया जा रहा है। लेकिन मुझे इसे पासवर्ड आधारित प्रमाणीकरण के लिए सेट अप करने की आवश्यकता है जहां इसे लॉगिन करने के लिए पास किया गया पासवर्ड लेना चाहिए।

मैं इस विषय पर कई धागे से गुजर चुका हूं और पाया कि यह आईओ: पर्ल के पीटी मॉड्यूल का उपयोग कर किसी भी तरह से संभव है। नीचे वह आदेश है जिसे मैंने उपयोग किया है।

my $sftp = Net::SFTP::Foreign->new(
$host,
user => $user,
password => $password,
more => [
-o => "PreferredAuthentications=password,keyboard-interactive,***publickey***"
],
);

लेकिन यहां, पसंदीदा प्रमाणीकरण में, सार्वजनिक कुंजी भी पारित की जा रही है।

क्या कोई इस पर मेरी मदद कर सकता है? सार्वजनिक कुंजी क्या है जिसे यहां संदर्भित किया जा रहा है?

साथ ही, नेट :: एसएफटीपी :: विदेशी मॉड्यूल के साथ IO :: Pty इंस्टॉल करना मेरी आवश्यकता को सर्वर कर सकता है?

कृपया मदद करे।

धन्यवाद और सादर,
एडू

उत्तर:

उत्तर № 1 के लिए -1

मुझे नेट :: एसएफटीपी :: विदेशी का उपयोग करने का कोई बिंदु नहीं दिखता है, मूल नेट :: एसएफटीपी का उपयोग करें।


वैसे भी, PreferredAuthentications बस प्रमाणीकरण तंत्र के अपने वरीयता आदेश सूचीबद्ध करता है। publickey किसी भी विशिष्ट कुंजी का संदर्भ नहीं है। यह सिर्फ इतना कहता है कि नेट :: एसएफटीपी :: विदेशी को पहले पासवर्ड प्रमाणीकरण का प्रयास करना चाहिए, अगर यह विफल हो जाता है, तो कुंजीपटल-इंटरैक्टिव प्रमाणीकरण आज़माएं, और केवल, अगर यह विफल हो जाता है, तो सार्वजनिक कुंजी प्रमाणीकरण आज़माएं। जाहिर है, अगर आप किसी भी कुंजी जोड़ी को निर्दिष्ट नहीं करते हैं, तो सार्वजनिक कुंजी प्रमाणीकरण "टी की कोशिश नहीं की जा सकती है, भले ही सूचीबद्ध हो।

यह भी देखें PreferredAuthentications में प्रवेश ssh_config मैन पेज.

यदि आप पासवर्ड प्रमाणीकरण का उपयोग करना चाहते हैं, इससे कोई फर्क नहीं पड़ता कि, अन्य तरीकों को सूचीबद्ध करने के लिए कोई बिंदु नहीं है, बस पासवर्ड सूचीबद्ध करें:

-o => "PreferredAuthentications=password"

IO: पासवर्ड प्रमाणीकरण का उपयोग करने के लिए Pty की आवश्यकता है नेट :: एसएफटीपी :: विदेशी, लेकिन नेट :: एसएफटीपी का उपयोग करते समय नहीं (हालांकि इसमें अन्य निर्भरता भी है)।