2010-07-06 10 views
9

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

  1. लूपबैक इंटरफ़ेस के विभिन्न बंदरगाहों पर प्रमाणीकरण के बिना 2 एसएसएच डिमन्स बनाएं।
  2. इन दोनों बंदरगाहों

केवल सवाल इन डमी SSH डेमॉन को चलाने के लिए कैसे है पर तैनाती स्क्रिप्ट चलाएँ।

मैं पायथन और फैब्रिक का उपयोग करता हूं।

उत्तर

6

आप सर्वर की कार्रवाई पर पूरा नियंत्रण चाहते हैं (उदाहरण के लिए आदेश विभिन्न समस्या की स्थिति अनुकरण और इस तरह करने के लिए एक बहुत पूरी तरह से कार्य करें:

आप खोल करने के लिए कॉल करने के लिए os.system उपयोग कर सकते हैं परीक्षण) मैं twisted की अनुशंसा करता हूं: जैसा कि यह आलेख दिखाता है, यह आपके स्वयं के कस्टम एसएसएच सर्वर को स्थापित करना वाकई आसान बनाता है।

आप बल्कि एक मौजूदा ssh सर्वर का उपयोग करते हैं, तो सूची here से एक चुनना (या एक जो आपके सिस्टम के साथ आता है का उपयोग करें, यदि कोई हो, या हो सकता है sshwindows अगर आप खिड़कियों पर कर रहे हैं) और subprocess साथ इसे चलाने पाइथन से अपने परीक्षण शुरू करने के एक हिस्से के रूप में।

+0

उपयोगी विचार के लिए धन्यवाद, लेकिन मैं बस बंदर फैब्रिक एपीआई स्थानीय सर्वर पर सभी आदेश चलाने के लिए पैच किया। मैं आपकी टिप्पणी को चिह्नित करूंगा क्योंकि इसका वैसे भी सबसे अच्छा समाधान है। –

1

एक एसएसएच डिमन को पुन: कार्यान्वित करना तुच्छ नहीं है।

यदि आपकी एकमात्र समस्या यह है कि आप उन्हें मौजूदा कॉन्फ़िगरेशन के आधार पर नहीं चाहते हैं, तो आप किसी दिए गए पोर्ट पर चलाने के लिए विशिष्ट कॉन्फ़िगरेशन और -p निर्दिष्ट करने के लिए -f के साथ नया sshd शुरू कर सकते हैं।

os.system('sshd -f myconfig -p 22022') 
+0

यह एक अच्छा विचार है और मुझे लगभग यह काम मिल गया है, लेकिन मैं एसएसएच-एजेंट के साथ फंस गया जो विशिष्ट अधिकृत_की फाइल के साथ दो बार नहीं चला सकता है। वैसे भी, आपकी प्रतिक्रिया के लिए धन्यवाद! –

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