मेरे पास बाहरी प्रक्रियाओं के साथ शुरू करने और संवाद करने के लिए उपयोग की जाने वाली सी ++ कक्षा है (कुछ हद तक क्यूटी के क्यूप्रोसेस के समान है - हम क्यूटी का उपयोग नहीं कर सकते क्योंकि हम एक छोटे एम्बेडेड सिस्टम पर काम कर रहे हैं)। यह माता-पिता और बाल प्रक्रिया के बीच एक लिंक स्थापित करने के लिए पाइप और डुप्ली 2 सिस्टम कॉल का उपयोग करता है। समस्या यह है - यह एसएसएच, एसपीपी और पासवर्ड की अपेक्षा रखने वाले अन्य प्रोग्राम के साथ काम नहीं करता है। मैंने एसएसएच को दबा दिया है और ऐसा लगता है कि यह/dev/tty खुलता है और किसी भी तरह कमांड लाइन से पासवर्ड पढ़ने के लिए इसका उपयोग करता है। क्या मेरी कक्षा से पासवर्ड इनपुट करने का कोई तरीका है या यह पता लगाने के लिए कि कोई एप्लाइजेशन stdin की तुलना में किसी अन्य स्रोत से इनपुट की अपेक्षा करता है (बिल्कुल पोर्टेबल नहीं होना चाहिए)?मैं सी ++ में एसएसएच के लिए पासवर्ड कैसे पाइप करूं?
उत्तर
एसएसएच कार्यक्रमों के लिए टर्मिनलों से सीधे पासवर्ड पढ़ने के लिए यह सामान्य प्रथा है। आपको इस छद्म टर्मिनल को आवंटित करने और इस छद्म टर्मिनल के भीतर इस I/O को कैप्चर करने के लिए ssh निष्पादित करने की आवश्यकता है। पीटीआई मैन पेज (सेक्शन 7,) एक अच्छा परिचय है।
मैं फिर से यह बताना चाहता हूं कि आप आमतौर पर एसएसएच को पासवर्ड नहीं देना चाहते हैं, तो कई बेहतर प्रमाणीकरण विकल्प हैं। उन प्रक्रियाओं के लिए सार्वजनिक-कुंजी प्रमाणीकरण का उपयोग करें जो उपयोगकर्ता इनपुट के बिना चलाना चाहिए और चला सकते हैं।
+1 सार्वजनिक कुंजी सुझाव के लिए +1। कुछ और प्रोग्राम प्रोग्राम (खराब) में सादे टेक्स्ट पासवर्ड रखेगा। – jedwards
आप शायद सुरक्षा त्रुटियों के बारे में सही हैं, लेकिन मैं सिर्फ यह पुस्तकालय चाहता हूं कि मैं लिखने के रूप में लचीला होने के लिए लिख रहा हूं। यह अंतिम उपयोगकर्ता तक होगा यदि वह एसएसएच चीजों को उचित तरीके से करने वाला है या नहीं। – Zbigh1
कुछ प्रोग्राम ढूंढें जो पहले से ही ऐसा करते हैं, उदाहरण के लिए lftp।
या इस पर्ल एक लाइनर strace आपको क्या करना चाहिए की एक विचार प्राप्त करने के लिए:
perl -MNet::OpenSSH -e 'Net::OpenSSH->new(localhost, password => foo)'
यह ज्यादातर, गुरु की प्रक्रिया पर एक छद्म tty जोड़ी आवंटन forking और के गुलाम भाग की स्थापना करने के लिए कम कर देता है एसएसएच निष्पादित करने से पहले वर्तमान टीटी के रूप में बच्चे पर पीटीआई।
- 1. मैं अपने एसएसएच पासवर्ड को सत्यापित/जांच/परीक्षण/सत्यापन कैसे करूं?
- 2. मैं जावा कंसोल आउटपुट को फ़ाइल में कैसे पाइप करूं?
- 3. मैं उपयोगकर्ता की भाषा में यादृच्छिक पासवर्ड कैसे उत्पन्न करूं?
- 4. मैं मेकफ़ाइल शेल कमांड में पाइप का उपयोग कैसे करूं?
- 5. मैं टेक्स्ट फ़ाइल में एक सबप्रोसेस कॉल कैसे पाइप करूं?
- 6. मैं पाइथन में एक चर के लिए फ़ाइल के आउटपुट को कैसे पाइप करूं?
- 7. हमें हडोप पासवर्ड रहित एसएसएच क्यों चाहिए?
- 8. मैं UILabel में एक वैकल्पिक पासवर्ड कैरेक्टर कैसे प्रदर्शित करूं?
- 9. मैं PHP में हार्डकोडेड लॉगिन/पासवर्ड कैसे सुरक्षित करूं?
- 10. मैं हडसन में उपयोगकर्ता पासवर्ड कैसे रीसेट करूं?
- 11. सी # एसएसएच और टेलनेट के लिए पुस्तकालय
- 12. मैं अपनी एसएसएच सार्वजनिक कुंजी कैसे एक्सेस करूं?
- 13. मैं सी ++ में कॉलबैक कैसे कार्यान्वित करूं?
- 14. मैं सी में मेमोरी कैसे मुक्त करूं?
- 15. मैं एक साधारण एसएसएच क्लाइंट कैसे लिखूं?
- 16. पाइप किए गए आदेश चलाने के लिए मैं चींटी निष्पादन कार्य का उपयोग कैसे करूं?
- 17. मैं सी # में% LocalAppData% कैसे प्राप्त करूं?
- 18. इसे पाइप-इंस्टॉल करने योग्य बनाने के लिए मैं एक पायथन एप्लिकेशन कैसे पैकेज करूं?
- 19. मैं नामित पाइप का उपयोग कर सी ++ से डब्ल्यूसीएफ विधि कैसे कॉल करूं?
- 20. मैं सदस्य सदस्यता उपयोगकर्ता को कैसे नियंत्रित करूं। रीसेट पासवर्ड()
- 21. मैं पाइप पर कैसे जुड़ूं?
- 22. गिट एसएसएच पासवर्ड याद रखने के लिए Aptana स्टूडियो कैसे प्राप्त करें
- 23. हडसन गिट https पासवर्ड, मैं इसे कैसे निर्दिष्ट करूं?
- 24. सी ++ आईडीई जो एसएसएच
- 25. एसएसएच सुरंग
- 26. एसएसएच Mercurial
- 27. मैं सी ++ में नेस्टेड वैक्टर के साथ कैसे काम करूं?
- 28. मैं सी # में असेंबली के संस्करण को कैसे प्राप्त करूं?
- 29. मैं बिटबकेट तक पहुंचने के लिए हडसन/जेनकींस के लिए एक निजी एसएसएच कुंजी कैसे सेट करूं?
- 30. मैं प्रतिबद्ध लॉग से अपना पासवर्ड निकालने के लिए पिछली गिट कैसे संपादित करूं?
आप पासवर्ड नहीं भेजना चाहते हैं। आप क्या करना चाहते हैं ~/.ssh निर्देशिका –
में अपनी निजी कुंजी को पढ़ने और उपयोग करने के लिए एसएसएच प्राप्त करें सार्वजनिक कुंजी प्रमाणीकरण का उपयोग करें या askpass और ssh-agent – sehe
देखें [sshpass] (http://sourceforge.net/परियोजनाओं/sshpass /) – ephemient