2012-05-15 10 views
6

का उपयोग करते समय अनुमति अस्वीकार कर दी गई है इसलिए मेरे पास एक प्रोजेक्ट (निजी रेपो) है जिसमें एकाधिक सबोड्यूल (निजी भी) हैं। मेरे पास अमेज़ॅन ईसी 2 पर होस्ट किया गया एक सर्वर है जो परियोजना का निर्माण करेगा, और मैं अपने निजी गिथब रेपो का उपयोग करना चाहता हूं।गीथब तैनाती कुंजी

मैंने मुख्य परियोजना के लिए एक एसएसएच कुंजी उत्पन्न की और परियोजनाओं को तैनात करने के लिए इसे जोड़ा। मैंने प्रत्येक सबमिशन के लिए अतिरिक्त एसएसएच कुंजी भी उत्पन्न की और इसे अपनी तैनाती कुंजी में जोड़ा।

जब मैं कोशिश करते हैं और परियोजना (का उपयोग कर Git @ GitHub) क्लोन, यह काम नहीं करता:

अनुमति अस्वीकृत (publickey)। घातक: रिमोट एंड अप्रत्याशित रूप से

मैंने प्रत्येक रेपो और उनकी तैनाती कुंजी को दो बार चेक किया है और सबकुछ सही लगता है। क्या कोई और छोटा कदम है जो मुझे याद आ रहा है?

+0

पोर्ट 22 खोला गया है? 'Ssh -vt git @ github.com' क्या कहता है? - http://help.github.com/ssh-issues/ –

+0

परिणाम (नीचे) –

+0

ओपनएसएसएच_5.3 पी 1, ओपनएसएसएल 1.0.0i-fips 19 अप्रैल 2012 डीबग 1: कॉन्फ़िगरेशन डेटा/आदि/एसएसएच/एसएसएच_ कॉन्फिग डीबग 1 पढ़ना : * डीबग 1 के लिए विकल्प लागू करना: github.com से कनेक्ट करना [207.97.227.239] पोर्ट 22. डीबग 1: कनेक्शन स्थापित किया गया। –

उत्तर

6

संक्षिप्त उत्तर: निजी सबोड्यूल के साथ तैनाती कुंजी का उपयोग करने का कोई आसान तरीका नहीं है। मेरे अनुभव में आप दो विकल्प हैं:

  1. submodules का उपयोग कर, लेकिन कुंजी की तैनाती का उपयोग कर बंद करो और बजाय एक ही खाता-स्तरीय SSH महत्वपूर्ण यह है कि आपकी सभी निजी डेटा संग्रह स्थान को एक्सेस मिल जाती है (आसान, कम सुरक्षित)
  2. बंद करो का उपयोग रखें submodules का उपयोग कर, कुंजी की तैनाती का उपयोग कर कि तैनाती कुंजी (जटिल, अधिक सुरक्षित)

इस का कारण यह git clone है एक SSH कनेक्शन केवल उपयोग कर सकते हैं, जो तब ट्रिगर से मेल खाता है SSH निजी कुंजी में गुजर प्रत्येक भंडार रखने के लिए, और मैन्युअल रूप से git cloneएक एसएसएच निजी कुंजी पर एक समय (उदा। ~/.ssh/id_rsa)। उपयोग की जाने वाली एसएसएच निजी कुंजी को रिपोजिटरी की तैनाती कुंजी से मेल खाना चाहिए - और तैनाती कुंजी प्रति परियोजना अद्वितीय होनी चाहिए। एक सबमिशन क्लोन के मामले में, आप केवल एक निजी कुंजी का उपयोग कर रहे हैं। वह कुंजी आपके शीर्ष-स्तरीय प्रोजेक्ट से मेल खा सकती है, लेकिन निश्चित रूप से आपके द्वारा प्रदान की गई त्रुटि के साथ बाल परियोजनाओं पर असफल हो जाएगी।

आशा है कि यह सहायक है ..

+1

2 साल बाद तक अभी भी कोई बेहतर समाधान नहीं है? – aledalgrande

+3

ठीक है, इसे मिला: https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth – aledalgrande