2011-02-10 4 views
6

में इंटरैक्टिव एपीआई से कैसे निपटें I ऐसी स्थिति में है जहां मुझे एपीआई द्वारा उत्पन्न एक प्रॉम्प्ट पर कुछ ग्रंथों को पारित करने की आवश्यकता है (एपीआई के लिए यह एक बहुत अजीब व्यवहार है, यह पहली बार है जब मैं इसमें भाग गया), नीचे की तरह:पायथन

kvm_cli = libvirt.open("qemu+ssh://[email protected]/system") 

तो एक शीघ्र ssh पासवर्ड (password for 10.0.10.8 is:) की मांग करने आता है, मैं इसे मैन्युअल रूप से वहाँ टाइप करने के लिए आदेश पर ले जाने और kvm_cli वस्तु मैं जरूरत उपज में है।

मैंने pexpect मॉड्यूल का उपयोग करने के लिए इसका प्रयास करने की कोशिश की, हालांकि यह एपीआई के बजाय ओएस कमांड लाइन के लिए है।

एसएसएच प्रमाणन फ़ाइलों का उपयोग करके इसके आसपास काम करना भी संभव है लेकिन यह हमारे परिदृश्य में अनुकूल प्रमाणीकरण दृष्टिकोण नहीं है।

चूंकि हमारे खुले 'खुले' विधि पर आवरण इंटरैक्टिव नहीं है, इसलिए हम उपयोगकर्ता को पासवर्ड इनपुट करने के लिए नहीं कह सकते हैं, क्या आपके पास कोई विचार है कि मैं इसे कैसे संबोधित कर सकता हूं?

+0

मुझे लगता है कि एसएसएच प्रमाणीकरण फाइलें 'कुंजी-आधारित' लॉगिन के समान हैं, एंड्रिया ने सुझाव दिया है। आपको लगता है कि एसएसएच प्रमाण पत्र इस समस्या के लिए एक व्यवहार्य दृष्टिकोण नहीं है, यही वह स्थिति है जिसका मैं उपयोग में उपयोग करूंगा। –

उत्तर

4

मैं एक libvirt उपयोगकर्ता नहीं हूं, लेकिन मुझे विश्वास है कि समस्या लाइब्रेरी में नहीं है, लेकिन कनेक्शन विधि में है। आप एसएसएच के माध्यम से कनेक्ट होने लगते हैं, इसलिए आपको खुद को प्रमाणीकृत करने की आवश्यकता है।

मैं libvirt page on ArchWiki पढ़ रहा है, और मुझे लगता है कि आप की कोशिश कर सकते:

  • सरल (टीसीपी/आईपी सॉकेट) कनेक्शन पद्धति की स्थापना, या
  • अपने वर्चुअल होस्ट के लिए key-based, password-less SSH login की स्थापना ।