GitHub: अमान्य उपयोगकर्ता नाम या पासवर्ड


401

मेरे पास GitHub पर होस्ट किया गया एक प्रोजेक्ट है। जब मैं मास्टर पर अपने संशोधनों को आगे बढ़ाने की कोशिश करता हूं तो मैं असफल हो जाता हूं। मुझे हमेशा निम्न त्रुटि संदेश मिलता है

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

हालाँकि, मेरी ssh कुंजी को github पर सेट करना ठीक लगता है। दरअसल, जब मैं एक ssh -T git@github.comमैं मिलता है

Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.

जो यह इंगित करता है कि उस तरफ से सब कुछ ठीक है (eurydyce मेरे github उपयोगकर्ता नाम होने के कारण)। मैंने गीथब पर दिए गए निर्देशों और कई स्टैक चर्चा की सिफारिशों पर सख्ती से पालन किया लेकिन कोई रास्ता नहीं। क्या आपको इस बात का अंदाजा होगा कि मैंने क्या गलत किया होगा?


मुझे यकीन नहीं है कि मुझे एक उत्तर पोस्ट करना चाहिए या नहीं (उच्च मौका कम हो जाना चाहिए), क्योंकि मैंने "सही" (निरीक्षण तत्व द्वारा जांच) पासवर्ड के साथ कई प्रयासों की कोशिश करने के बाद जीथब सेटिंग्स में पासवर्ड बदलकर इस त्रुटि संदेश को हल किया।
फल

जवाबों:


274

https: //git@github.com/eurydyce/MDANSE.it एक ssh url नहीं है, यह एक https एक है (जिसे ' git' के बजाय आपके GitHub खाते के नाम की आवश्यकता होगी )।

ssh://git@github.com:eurydyce/MDANSE.gitया बस का उपयोग करने की कोशिश करोgit@github.com:eurydyce/MDANSE.git

git remote set-url origin git@github.com:eurydyce/MDANSE.git

ओपी पेलेग्रिनी एरिक कहते हैं:

मैंने अपनी ~/.gitconfigफ़ाइल में वही किया है जिसमें वर्तमान में निम्नलिखित प्रविष्टियाँ हैं[remote "origin"] url=git@github.com:eurydyce/MDANSE.git

यह आपके वैश्विक कॉन्फ़िगरेशन (एक में ~/) में नहीं होना चाहिए ।
आप git config -lअपने रेपो में जाँच कर सकते हैं : कि यूआरएल स्थानीय विन्यास में घोषित किया जाना चाहिए <yourrepo>/.git/config:।

इसलिए सुनिश्चित करें कि आप git remote set-urlकमांड करते समय रेपो पथ में हैं ।


यदि ओलिवर के उत्तर में उल्लेख किया गया है , तो दो-कारक प्रमाणीकरण (2FA) सक्रिय होने पर एक HTTPS URL उपयोगकर्ता नाम / पासवर्ड का उपयोग नहीं करेगा ।

उस स्थिति में, पासवर्ड एक PAT (व्यक्तिगत एक्सेस टोकन) होना चाहिए जैसा कि " कमांड लाइन पर टोकन का उपयोग करना " है।

यह केवल HTTPS URL के लिए लागू होता है, SSH इस सीमा से प्रभावित नहीं है।


ऑप्स! आप सही हैं, मेरे स्थानीय कॉन्फ़िगरेशन में उन बदलावों ने सब कुछ काम कर दिया है। बहुत बहुत धन्यवाद।
यूरीडाइस

78
इस उत्तर को बिल्कुल भी न समझें
मेघ

@ निश्चित रूप से, किस हिस्से में स्पष्टता की कमी है, मैं इस उत्तर को कैसे सुधार सकता हूं?
VonC

मेरे पास https क्लोन लिंक था, जो काम नहीं करता था। लेकिन मैंने git @ url से बदल दिया और यह काम करने लगा। इसका क्या कारण रह सकता है? मैं अपने मैक चाबी का गुच्छा से कुछ github प्रविष्टि के रूप में अच्छी तरह से हटा दिया। क्या वह संबंधित हो सकता है? हालाँकि, मैं इसे ssh के माध्यम से उपयोग कर रहा था कुंजियों को कॉन्फ़िगर करके। कोई भी संकेत इसमें सहायक होंगे।
cg

1
@byronaltice यदि यह SSH है, तो इसका मतलब है कि आपके पास एक प्रविष्टि के साथ एक ~/.ssh/configया %USERPROFILE%\.ssh\configफ़ाइल github.comहै।
वॉन

1011

दो फैक्टर प्रमाणीकरण (2FA) को सक्षम करने के बाद, आप कुछ इस तरह देख सकते हैं उपयोग करने का प्रयास करते समय git clone, git fetch, git pullया git push:

$ git push origin master
Username for 'https://github.com': your_user_name
Password for 'https://your_user_name@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'

ऐसा क्यों हो रहा है

से GitHub सहायता दस्तावेज़ :

2FA सक्षम होने के बाद आपको 2FA कोड और अपने GitHub पासवर्ड के बजाय एक व्यक्तिगत एक्सेस टोकन दर्ज करना होगा।

...

उदाहरण के लिए, जब आप एक भंडार की तरह आदेशों का उपयोग करते कमांड लाइन पर Git का उपयोग कर का उपयोग git clone, git fetch, git pullया git pushHTTPS यूआरएल के साथ, आप अपने GitHub यूज़रनेम और जब एक उपयोगकर्ता नाम और पासवर्ड के लिए संकेत टोकन अपने व्यक्तिगत पहुँच प्रदान करनी चाहिए। कमांड लाइन प्रॉम्प्ट यह निर्दिष्ट नहीं करेगा कि आपको अपने पासवर्ड के लिए पूछने पर अपनी व्यक्तिगत एक्सेस टोकन दर्ज करनी चाहिए।

इसे कैसे जोड़ेंगे

  1. एक निजी एक्सेस टोकन जेनरेट करें । ( कमांड लाइन के लिए एक व्यक्तिगत एक्सेस टोकन बनाने पर विस्तृत गाइड ।)
  2. पर्सनल एक्सेस टोकन को कॉपी करें।
  3. आप जिस कमांड को आज़मा रहे थे, उसे पुनः आज़माएं और अपने पासवर्ड की जगह पर पर्सनल एक्सेस टोकन का उपयोग करें।

संबंधित प्रश्न: https://stackoverflow.com/a/21374369/101662


14
कुडो और अपवोट्स; नई टोकन पीढ़ी है जिसकी मुझे आवश्यकता है। इसके अलावा, "कॉपी कोड" में अतिरिक्त (अमान्य) वर्ण शामिल थे इसलिए मुझे मैन्युअल रूप से अपना .... 20 [?] अंक यादृच्छिक कुंजी दर्ज करना पड़ा।
th3byrdm4n

7
यह मेरा मुद्दा था, 2 फैक्टर ऑर्ट जोड़ने के बाद, जिस पर मुझे संदेह था, हालांकि इस पर प्रलेखन की कमी थी। जवाब के लिए धन्यवाद!
पोग्रिंडिस

11
@ ब्यूस्मिथ: यह एक तरह से अधिक संपादन है जो हम सामान्य रूप से अनुमति देते हैं। आप मूल रूप से इस उत्तर को पूरी तरह से पुनः लिखते हैं। कृपया अपने स्वयं के रूप में पोस्ट करें , इसके बजाय अलग से उत्तर दें । यह भी देखें कि यदि कोई व्यक्ति मूल रूप से आपके पूरे उत्तर को फिर से लिखता है तो आप क्या करते हैं?
मार्टिन पीटर्स

8
वहाँ एक पूरी तरह से ध्वनि तर्क किसी भी तरह से है - Let सब कृपया रोलबैक करने का निर्णय अनुमति देते हैं या यहां @Oliver द्वारा निर्णय लिया जाना नहीं है
Flexo

10
यहाँ संपादक ... जैसा कि लगता है कि लोग इस उत्तर को सही (अपने आप को) के रूप में चिह्नित करते हैं, इस पृष्ठ पर एक समस्या के लिए आते हैं, जो पूछने वाले की तुलना में थोड़ा अलग है, मैं कुछ "Google रस" शब्दों को जोड़ने और उत्तर को नेत्रहीन बनाने की कोशिश कर रहा था अपील है कि इस समाधान की मांग करने वाले अन्य इसे पा सकते हैं। समुदाय के लिए चीजों को बेहतर बनाने की कोशिश की जा रही है। 😀
Beau स्मिथ

86

समाधान चरण:

  1. कंट्रोल पैनल
  2. क्रेडेंशियल प्रबंधक
  3. विंडो क्रेडेंशियल पर क्लिक करें
  4. जेनेरिक क्रेडेंशियल सेक्शन में, git url, अपडेट यूज़रनेम और पासवर्ड होगा
  5. Git Bash को पुनरारंभ करें और क्लोन के लिए प्रयास करें

4
मुझे github के कंपनी संस्करण (इसलिए स्थानीय उपयोगकर्ता नाम / पासवर्ड का उपयोग करके) के साथ यह समस्या आ रही थी। इस समाधान ने इसे ठीक कर दिया।
22

नई विंडो में, आप "Windows क्रेडेंशियल्स" या अपनी भाषा में समान खोज सकते हैं। यह एक परिणाम को पॉप अप करेगा और आप इस समाधान की कोशिश कर सकते हैं।
चार्ल्स टेंपो

1
परिसर
गितुब

56

अगर मेरी तरह आप भी अपना पासवर्ड अपडेट करते हैं और git pushइस मुद्दे पर भागना चाहते हैं, तो एक सुपर आसान फिक्स है।

केवल मैक उपयोगकर्ताओं के लिए। आपको GitHub के लिए अपनी OSX किचेन एक्सेस प्रविष्टियों को हटाने की आवश्यकता है। आप निम्न आदेशों को चलाकर टर्मिनल के माध्यम से कर सकते हैं।

कमांड लाइन के माध्यम से अपनी साख को हटाना

कमांड लाइन के माध्यम से, आप चाबी का गुच्छा प्रविष्टि को मिटाने के लिए सीधे क्रेडेंशियल हेल्पर का उपयोग कर सकते हैं।

ऐसा करने के लिए, निम्न कमांड टाइप करें:

git credential-osxkeychain erase
host=github.com
protocol=https

# [Now Press Return]

यदि यह सफल होता है, तो कुछ भी नहीं छपेगा। यह जांचने के लिए कि यह GitHub से एक रिपॉजिटरी का काम करता है, कोशिश करता है और अपने मामले में फिर से अपनी पिछली कार्रवाई चलाता है git push। यदि आपको पासवर्ड के लिए संकेत दिया जाता है, तो चाबी का गुच्छा प्रविष्टि हटा दी गई थी।


2
विंडोज़ के लिए: git क्रेडेंशियल-विनेड इरेज़ होस्ट = github.com प्रोटोकॉल = https
जुआन

मैं एक बिटबकेट रेपो पर इस समस्या का सामना किया। host=bitbucket.orgGitHub के बजाय इस जवाब ने इसे मेरे लिए तय किया।
gutch

26

https://अपने दूरस्थ रिपॉजिटरी से कनेक्ट करने के लिए URL का उपयोग करते समय , फिर Git SSH को प्रमाणीकरण के रूप में उपयोग नहीं करेगा, बल्कि HTTPS पर एक मूल प्रमाणीकरण का प्रयास करेगा। आमतौर पर, आप सिर्फ एक उपयोगकर्ता नाम के बिना URL का उपयोग करेंगे, उदाhttps://github.com/username/repository.git , और Git तब आपको एक उपयोगकर्ता नाम (आपका GitHub उपयोगकर्ता नाम) और अपना पासवर्ड दोनों दर्ज करने के लिए संकेत देगा।

यदि आप उपयोग करते हैं https://something@github.com/username/repository.git, तो आपके पास उपयोगकर्ता नाम Git है जो प्रमाणीकरण के लिए उपयोग करेगा something:। चूंकि आपने उपयोग किया था https://git@github.com, Git उस gitउपयोगकर्ता नाम का उपयोग करके लॉग इन करने का प्रयास करेगा जिसके लिए आपका पासवर्ड निश्चित रूप से काम नहीं करता है। इसलिए आपको इसके बजाय अपने उपयोगकर्ता नाम का उपयोग करना होगा ।

विकल्प वास्तव में प्रमाणीकरण के लिए SSH का उपयोग करने के लिए है। इस तरह आप हर समय अपना पासवर्ड टाइप करने से बचेंगे; और चूंकि यह पहले से ही काम कर रहा है, इसलिए आपको इसका उपयोग करना चाहिए।

ऐसा करने के लिए, आपको अपने दूरस्थ URL को बदलना होगा, हालांकि Git जानता है कि इसे SSH के माध्यम से कनेक्ट करने की आवश्यकता है। प्रारूप तो यह है git@github.com:username/repository:। अपने URL को अपडेट करने के लिए इस कमांड का उपयोग करें:

git remote set-url origin git@github.com:username/repository

आपके आदेश का प्रयास करते समय मुझे निम्न संदेश मिलता है warning: remote.origin.url has multiple values। यह इस तथ्य के कारण हो सकता है कि मेरे पास पहले से ही मेरी ~ / .gitconfig फ़ाइल में एक दूरस्थ टैग है जिसमें मूल्य शामिल है [remote "origin"] url=git@github.com:eurydyce/MDANSE.git
यूरीडाइस

18

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


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

यकीन नहीं होता, आपका क्या मतलब है, यह नई साख को git push origin master
अमल में लाने के

13

इसके बजाय git pullभी प्रयास करेंgit pull origin master

मैंने पासवर्ड बदला, और पहली कमांड ने त्रुटि दी:

$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...

के बाद git pull origin master, यह पासवर्ड के लिए पूछा और खुद को अद्यतन करने के लिए लग रहा था


7

जेनरेटिंग पर भरोसा करने की जरूरत नहीं है व्यक्तिगत एक्सेस टोकन और फिर अपने पासवर्ड के स्थान पर व्यक्तिगत एक्सेस टोकन का उपयोग करने की कोशिश करने और ।

त्वरित सुधार करने के लिए बात करने के लिए अपने रिमोट यूआरएल स्थापित करने के लिए है sshनहींhttps

यह करो git remote set-url origin git@github.com:username/repository


5

मुझे बिटबकैट से ऐप क्लोन करते समय यह मिल रहा है:

Cloning into 'YourAppName'...
Password for 'https://youruser id': 
remote: Invalid username or password

मैंने इसे हल किया। यहां आपको अपने यूजरआईडी के लिए पासवर्ड बनाने की आवश्यकता है

  1. अपनी प्रोफाइल और सेटिंग्स पर क्लिक करें अपनी प्रोफाइल और सेटिंग्स पर क्लिक करें

  2. फिर ऐप पासवर्ड बनाएं अपना नाम पासवर्ड जनरेट करें, उस पासवर्ड को टर्मिनल पर पेस्ट करें ऐप पासवर्ड बनाएं


4

जीथब में 2 कारक प्रमाणीकरण को अक्षम करना मेरे लिए काम किया।

मैं देखता हूं कि एक डिलीट किया हुआ उत्तर है जो यह कहता है, "कारण सवाल का जवाब नहीं देता" के रूप में हटा दिया गया है। अगर यह काम करता है, तो मुझे लगता है कि यह सवाल का जवाब देता है ...


यह अजीब है। मेरे साथ भी ऐसा ही हुआ। मैंने अभी दो-कारक प्रमाणीकरण को अक्षम किया है और यह अब मेरे लिए काम करता है। :)
अभिजीत

इसने मेरे लिए जून 2020 तक काम किया। धन्यवाद!
गमकरा १४

4

मैंने किया:

$git pull origin master

फिर इसने [यूजरनेम] और [पासवर्ड] के लिए कहा और यह अब ठीक काम कर रहा है।


इसने मेरे लिए काम किया। मैं लाने के बजाय पुल का उपयोग किया है, लेकिन वैसे भी यह कोई फर्क नहीं पड़ता। ठंडा!
अपरेशकोव

2

यदि आपको इस स्थिति में यह त्रुटि संदेश मिलता है:

  • आघात के लिए github का उपयोग करना
  • क्रेडेंशियल का उपयोग कर में Git config
  • अपनी विंडो क्रेडेंशियल का उपयोग करके जिसे आपने हाल ही में बदला है

फिर इस उत्तर को देखें: https://stackoverflow.com/a/39608906/521257

Windows एक क्रेडेंशियल प्रबंधक में क्रेडेंशियल्स संग्रहीत करता है, इसे साफ़ करें या इसे अपडेट करें।


1

आपको यह त्रुटि इसलिए मिल रही है क्योंकि आपने अपना पासवर्ड अपडेट कर लिया है। इसलिए टर्मिनल पर पहले सुनिश्चित करें कि आपने किचेन से अपने GitHub क्रेडेंशियल्स को साफ कर दिया है और फिर अपने परिवर्तनों को अपने रेपो में धकेल दें, टर्मिनल आपके उपयोगकर्ता नाम और पासवर्ड के लिए पूछेगा।


1

मेरी भी यही समस्या थी। और मैं इसे से दूरस्थ शाखा के पथ को बदलने के द्वारा हल https://github.com/YourName/RepoNameकरने के लिए git@github.com:YourName/RepoName.gitक्लाइंट ऐप की रेपो की सेटिंग में।


1

मैं लगातार इस समस्या में भाग रहा हूं। सुनिश्चित करें कि आपने git --config user.name "" सेट किया है और आपका वास्तविक नाम नहीं, जो मैंने कुछ बार किया है।


0

चूँकि आप शायद अपने खाते के लिए 2FA सक्षम रखना चाहते हैं, आप एक ssh कुंजी सेट कर सकते हैं और इस तरह से आपको हर बार जब आप Github को काम धकेलना चाहते हैं, तो अपने Github क्रेडेंशियल को टाइप करने की आवश्यकता नहीं होगी।

आप दस्तावेज़ में सभी ssh सेटअप चरण पा सकते हैं । पहले, सुनिश्चित करें कि आपके पास वर्तमान में कोई ssh कुंजियाँ (id_rsa.pub, आदि) नहीं हैं$ ls -al ~/.ssh


-1
  1. कंट्रोल पैनल
  2. क्रेडेंशियल प्रबंधक
  3. विकल्प के लिए देखें webcredentials और विंडोज़ क्रेडेंशियल
  4. दोनों में से किसी एक में आपको गितुब क्रेडेंशियल्स मिलेंगे जो इसे सही क्रेडेंशियल्स के साथ तय करेगा
  5. git bash के नए उदाहरण खोलें जो आपको अपनी git कमांड्स करने में सक्षम होना चाहिए।

यह मेरे लिए काम करता है, मैं अपने दूरस्थ रेपो में खींचने और धक्का देने में सक्षम था।


-1

मैं सिर्फ दो-कारक प्रमाणीकरण को अक्षम करता हूं और फिर से प्रयास करता हूं। इससे मेरा काम बनता है।


-3

इस समाधान ने मेरे लिए काम किया:

  1. नियंत्रण कक्ष खोलें
  2. क्रेडेंशियल मैनेजर पर जाएं
  3. विंडो क्रेडेंशियल पर क्लिक करें
  4. जेनेरिक क्रेडेंशियल सेक्शन में, git url, अपडेट यूज़रनेम और पासवर्ड होगा
  5. Git Bash को पुनरारंभ करें और क्लोन के लिए प्रयास करें

1
यह उत्तर एक मौजूदा उत्तर को दोहराता है जो उपयोगी नहीं है। जब आपके पास पर्याप्त प्रतिष्ठा (15, मेरा मानना ​​है) आप उन उत्तरों को वोट कर सकते हैं जो आपको उपयोगी लगते हैं। इस डुप्लिकेट उत्तर को जोड़ने के बजाय मतदान सही प्रतिक्रिया होगी।
AdrianHHH
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.