2016-08-15 10 views
11

की वजह से डिजिटलऑन में रेल ऐप को तैनात करने में असमर्थ मैंने डीओ में बूंद कॉन्फ़िगर किया है और nginx सफलतापूर्वक चल रहा है और चल रहा है। मैंने Capistrano के माध्यम से सर्वर पर तैनाती पर डीओ पर गाइड का पालन किया। मैं अपना पासवर्ड दर्ज किए बिना सर्वर में एसएसएच कर सकता हूं। लेकिन bundle exec cap production deploy:initial चलाने पर मैं एक बहुत ही अजीब त्रुटि मिल रही है:असमर्थित कुंजी प्रकार

cap aborted! NotImplementedError: unsupported key type pl + ढक्कन ���U����X��K\�L�[�\� �M�\� �M�A?d��h"sU�Ǐ�2�?h��a 5G͕�E���%!Cg��j�|��tu�yL*�'/9�s۷'

मैं आरएसए SSH कुंजी का उपयोग कर रहा है और इस में कई के साथ काम कर रहा है (> 10) सर्वर निर्बाध रूप से। मैंने deploy/production.rb फ़ाइल से ssh_options परम को हटाने की कोशिश की। इससे पहले सर्वर पासवर्ड पूछना चाहिए (मुझे लगता है?)। लेकिन मुझे एक ही त्रुटि मिलती है, जिससे मुझे संदेह होता है कि कुछ और मुझे परेशान कर रहा है।

रत्न संस्करण:

net-ssh (3.2.0) capistrano (3.6.0) sshkit (1.11.2)

+0

क्या आप नेट-एसएसएच अपडेट करने का प्रयास कर सकते हैं? –

+0

और क्या आप कैपिस्ट्रानो, एसएसकेकिट और नेट-एसएसएच के संस्करण पोस्ट कर सकते हैं? –

+0

प्रश्न विवरण में संस्करणों को अद्यतन किया गया। 3.2.0 नेट-एसएसएच के लिए नवीनतम स्थिर संस्करण है। – tekina

उत्तर

1

मेरा मानना ​​है कि आप sshkit में एक बग भर में ठोकर खाई है। Sshkit के हाल के संस्करणों में एक कस्टम एसएसएच कुंजी लोडिंग और कैशिंग तंत्र है जिसका उद्देश्य कनेक्शन प्रदर्शन में सुधार करना है।

हालांकि ऐसा लगता है कि कस्टम कार्यान्वयन बुलेटप्रूफ के रूप में डिफ़ॉल्ट नेट-एसएसएच कार्यान्वयन के रूप में नहीं है जो इसे प्रतिस्थापित करता है। विशेष रूप से, नेट-एसएस चुपचाप उन चाबियों को अनदेखा कर देगा जो इसका समर्थन नहीं करते हैं। Sshkit कस्टम कुंजी-लोडर ऐसा नहीं करता है, इसलिए यह आपके द्वारा देखे जा रहे unsupported key type त्रुटि के साथ उड़ाता है।

यदि मेरा सिद्धांत सही है, तो आप sshkit के कस्टम कुंजी-लोडर को बंद करके और मूल नेट-एसएसएच कार्यान्वयन को लागू करने के लिए मजबूर कर अपनी समस्या को ठीक करने में सक्षम होना चाहिए। आप इसे अपने deploy.rb में निम्नलिखित जोड़कर कर सकते हैं:

set :ssh_options, known_hosts: Net::SSH::KnownHosts 
+0

दुर्भाग्य से मदद नहीं की थी। हालांकि, मैं अपने पासफ्रेज प्रमाणीकरण के माध्यम से तैनात करने में सक्षम हूं। – tekina

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