2011-05-11 11 views
9

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

मैंने इस समस्या को ठीक करने के लिए कई ब्लॉग और सुझावों की जांच की है, लेकिन इसका कोई फायदा नहीं हुआ है। इसके अलावा, मैंने पुट्टी का उपयोग करने की कोशिश की है। मेरे प्रश्न हैं:

  1. क्या कोई इस समस्या को पूरा करता है और इसे ठीक करता है?
  2. या, क्या मैं कम से कम सटीक कारणों की पहचान करने के लिए कुछ डिबगिंग चालू कर सकता हूं क्यों जीआईटी बैश मेरे उपयोगकर्ता प्रमाण-पत्रों के लिए पूछ रहा है?

उत्तर

4

क्या आपने set up एसएसएच के लिए सार्वजनिक कुंजी प्रमाणीकरण किया था? यदि आप ऐसा करते हैं, तो गिट को हर बार अपना पासवर्ड नहीं पूछना चाहिए।

+0

साथ त्रुटि "प्रमाणीकरण विफल" धन्यवाद। लिंक के संदर्भ में, मैंने एक सार्वजनिक कुंजी बनाई और उसे कोडासेट निर्देशों पर कोड करने वाली कोडासेट वेबसाइट पर अपलोड किया। मैं कैसे निर्धारित कर सकता हूं कि क्या मैं वास्तव में गिट बैश से सार्वजनिक कुंजी का उपयोग कर रहा हूं? – user583153

+0

एसएसएच सीधे रिमोट साइट पर -v का उपयोग कर। यह आपको बताएगा कि कौन सी प्रमाणीकरण कुंजी का उपयोग किया जा रहा है। –

1

आपको एसएसएच सार्वजनिक कुंजी प्रमाणीकरण सेट अप करने की आवश्यकता है। मैंने इस प्रक्रिया को this प्रश्न के उत्तर में वर्णित किया। आप इसे गिट बैश के साथ उपयोग कर सकते हैं।

+0

धन्यवाद। कृपया मुझे बताएं कि सही कॉन्फ़िगरेशन सेट करने के लिए मुझे गिट बैश में उपयोग करने के लिए आवश्यक सटीक आदेश क्या हैं? – user583153

+0

@ user583153: यदि आपने पहले ही कोडसेट वेबसाइट पर सार्वजनिक कुंजी अपलोड कर दी है तो आपको यह सुनिश्चित करना होगा कि संबंधित _private key_ आपके होस्ट पर '~/.ssh /' फ़ोल्डर के नीचे रखा गया है। गिट बैश के तहत 'सीडी ~ चलाएं; mkdir। एसएसएच; cp private_key ~/.ssh/id_rsa' – beduin

11

अपने टर्मिनल प्रकार में:

git config -l 

यह आपके रेपो के config जानकारी दिखाई देगी। remote.origin.url पंक्ति को देखें। आप जो वर्णन कर रहे हैं उससे यह होना चाहिए: https://github.com/Username/project.git। इसका मतलब है कि यह एसएसएच के बजाय HTTP प्रोटोकॉल का उपयोग कर रहा है! मुझे बस यह समस्या भी थी :) हालांकि आसान फिक्स!

बस टर्मिनल में इस पर अमल:

git config remote.origin.url [email protected]:Username/project.git 

बातों का ध्यान रखना चाहिए!

+2

गिटहब ने हाल ही में अपने डिफ़ॉल्ट निर्देशों को बदल दिया है। जब आप एक नया रेपो बनाते हैं, तो यह सुझाव देता है कि आप अपने मैक ऐप का उपयोग करते हैं, और यह एसएसएच के बजाय http कॉन्फ़िगरेशन सेटअप के साथ आता है। –

+0

मैं गिटलाब का उपयोग कर रहा हूं और मेरा एसएसएच का उपयोग करता है लेकिन फिर भी – pal4life

+1

पासवर्ड मांगने में मदद करता है। यूआरएल सेट करने के लिए एक वैकल्पिक कमांड '' 'गिट रिमोट सेट-यूआरएल मूल [email protected] है: उपयोगकर्ता नाम/project.git''' – rojobuffalo