GitHub प्रमाणीकरण से अधिक विफल, गलत ईमेल पता लौटाता है


128

GitHub के साथ कमांड लाइन (over https, not ssh) से एक पुश या कोई अन्य कार्रवाई शुरू करना, जो उपयोगकर्ता नाम और पासवर्ड के लिए कॉल करता है, न केवल विफल रहता है, लेकिन जब यह करता है, तो यह वापस आ जाता है

Username for 'https://github.com': username
Password for 'https://username@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'

मेरा कोई @github.comपता नहीं है । पासवर्ड और उपयोगकर्ता नाम सही हैं।

मुझे पता है कि मैं SSH पर जा सकता हूं और कुंजियों का उपयोग कर सकता हूं लेकिन इसका जवाब नहीं है कि प्रमाणीकरण https पर विफल क्यों हो रहा है।


प्रलेखन git-scm.com/book/en/… git-config - प्राप्त करें और रिपॉजिटरी या वैश्विक विकल्प सेट करें git-scm.com/docs/git-config
John Smith

जवाबों:


171

GitHub के समर्थन ने तुरंत इस मुद्दे की जड़ को निर्धारित किया: दो-कारक प्राधिकरण।

Https के साथ शेल पर GitHub का उपयोग करने के लिए, OAuth टोकन बनाएं । पृष्ठ नोट के रूप में, मुझे किचेन से अपना उपयोगकर्ता नाम और पासवर्ड क्रेडेंशियल्स निकालना था, लेकिन osx-keychainजगह के साथ , टोकन को पासवर्ड के रूप में संग्रहीत किया जाता है और चीजें ठीक उसी तरह काम करती हैं, जैसे वे दो-कारक प्राधिकरण के बिना https के स्थान पर काम करेंगे।


4
+1। आप एन्क्रिप्टेड netrc में एक PAT (पर्सनल एक्सेस टोकन) का उपयोग कर सकते हैं: stackoverflow.com/a/18607931/6309
VonC

PAT और OAuth में क्या अंतर है?
lindhe

@ लिंडहे OAuth टोकन एक प्रकार का टोकन है, एक PAT इस मामले में एक OAauth टोकन है।
केरी जोन्स

22

मेरा कोई @github.comपता नहीं है

आपके पास यह नहीं है: @उपयोगकर्ता नाम और पासवर्ड के बीच विभाजक है: डोमेन।
यह एक ईमेल पता नहीं है।

एक पूर्ण GitHub https url होगा:

https://username:password@github.com/username/reponame.git

पासवर्ड के बिना (जो तब कमांड लाइन पर पूछा जाएगा), जिसने दिया:

https://username@github.com/username/reponame.git

लेकिन फिर, username@github.comएक ईमेल पता नहीं है, बस क्रेडेंशियल्स का पहला हिस्सा है।

सुनिश्चित करें कि आपका मामला सही है usernameऔर reponameयह सही है: यह संवेदनशील मामला है

ध्यान दें कि यदि आप उर में स्पष्ट रूप से कहा गया क्रेडेंशियल्स नहीं डालना चाहते हैं तो .netrc.gpg(या _netrc.gpgविंडोज पर) अपनी साख को स्टोर और एन्क्रिप्ट कर सकते हैं ।
देखें " क्या उपयोग करते समय पासवर्ड टाइपिंग को छोड़ना हैhttps://github "।


आप हर बार पासवर्ड टाइप करके पासवर्ड को छोड़ भी सकते हैं। उस मामले में यह होगा https://username@github.com/username/reponame.git
मार्क हिल्ड्रेथ

ओह, यह समझ में आता है। धन्यवाद। मुझे केस सेंसिटिविटी के बारे में पता था और मुझे पूरा विश्वास है कि मैं जो यूजरनेम और पासवर्ड प्रदान कर रहा हूं वह सही है। (वे वेबसाइट में साइन करने के लिए ठीक काम करते हैं।)
०१

2
@ हां, लेकिन क्या आपके पासवर्ड में विशेष वर्ण (जैसे ! * ' ( ) ; : @ & = + $ , / ? # [ ]) शामिल हैं? उन्हें "प्रतिशत-एन्कोडेड" ( en.wikipedia.org/wiki/Percent-encoding ) होने की आवश्यकता होगी ।
वॉन

पासवर्ड अल्फ़ान्यूमेरिक है। मैं देखता हूँ कि 'git रिमोट -v' क्या देता है जब मैं मशीन में अगला हूँ, लेकिन लगता है कि मुझे अगले GitHub समर्थन से संपर्क करने की आवश्यकता हो सकती है।
ग्यारह

@ पहले .netrc दृष्टिकोण को आज़माएं (केवल परीक्षण के लिए भी एन्क्रिप्ट न करें)। अगर वह काम नहीं करता है, तो GitHub समर्थन वास्तव में अगला कदम है।
VonC

21
  • क्रेडेंशियल मैनेजर => विंडोज मैनेजर पर जाएं
  • Tfs से संबंधित हर चीज को हटा दें
  • अब Add a जेनेरिक क्रेडेंशियल पर क्लिक करें और निम्नलिखित मान प्रदान करें

    (1) इंटरनेट या नेटवर्क पता: git: https: //tfs.donamain नाम (2) उपयोगकर्ता नाम: आपका उपयोगकर्ता नाम (3) पासवर्ड: आपका पासवर्ड

    इसे ठीक करना चाहिए


वाह। यदि आप इसे गलत टाइप करते हैं तो मुझे यह पसंद है कि यह गलत पासवर्ड कैसे संग्रहीत करता है। फिर आपको इसे मैन्युअल रूप से अपडेट करना होगा या इसे डिलीट करना होगा
Kolob Canyon

10

यदि आप पहले एक अलग क्रेडेंशियल्स संग्रहीत करते हैं, तो यह विंडोज में हो सकता है। क्रेडेंशियल मैनेजर पर जाएं और संग्रहीत गितुब क्रेडेंशियल्स को हटा दें


1
विंडोज क्रेडेंशियल मैनेजर में नए पासवर्ड के लिए पासवर्ड को सीधे संपादित करना भी संभव है।
स्पैनहौट


8

मेरे साथ भी यही हुआ, जब मैंने जीथब के लिए 2-वे प्रमाणीकरण सक्षम किया है। जिन चीजों को मैंने हल किया था:

  • आप व्यक्तिगत पहुँच टोकन प्राप्त करें। यह आपको पहले से उपलब्ध नहीं है, तो जांचना और उत्पन्न करना होगा। इसके लिए लिंक: https://github.com/settings/tokens
  • अपने स्थानीय पर जाएँ और फ़ोल्डर और फिर से क्लोन को github से हटाएं।
  • अब आप पहले जो कोशिश कर रहे थे, वह कोशिश करें: git पुल ओरिजिनल मास्टर
  • उपयोगकर्ता नाम दर्ज करें और जनरेट किए गए टोकन में पासवर्ड पेस्ट करें और उस टोकन को कहीं पर सहेजना न भूलें, ताकि आवश्यकता पड़ने पर आप पुनः उपयोग कर सकें।

ऐसा करने से आपकी समस्या दूर हो जाएगी।


अच्छा कॉलआउट - यह मेरे लिए मैक पर हो रहा था => मेरे पैट को पुनर्जीवित करना था
स्लीवरनिंजा - एमएसएफटी

यदि हमें पिछले जनरेट किए गए टोकन में मौजूद नहीं होने की अनुमति चाहिए तो हमें टोकन जेनरेट करना होगा। इसके अलावा अगर हमने अपना पिछला टोकन खो दिया है, तो हम इस नए टोकन को उत्पन्न कर सकते हैं और अपने मूल गिट पासवर्ड के बजाय प्रमाणित करने के लिए एक पासवर्ड के रूप में उपयोग कर सकते हैं।
मोहम्मद बेलाल

5

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

उम्मीद है कि किसी की मदद करता है!


-2

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.