Git का प्रसिद्ध "ERROR: उपयोगकर्ता के लिए .it को अनुमति"


118

मैंने https://ogp.github.com/en/articles/connecting-to-github-with-ssh और विभिन्न, विभिन्न गाइड के माध्यम से गुगली करने और पढ़ने की कोशिश की है । मैं करने में असमर्थ हूँ git push -u origin masterया git push origin master(एक ही आदेश)।

मेरे पास कम से कम 2 या इतने वर्षों के लिए अपना git खाता है। मैं सफलतापूर्वक push -u origin masterअपने लैपटॉप पर रिपोस और ठीक बनाने में सक्षम हूं, लेकिन इस डेस्कटॉप पर मुझे समस्या हो रही है।

यहाँ मैंने क्या कोशिश की है:

1. मैंने अपना git उपयोगकर्ता नाम सेटअप किया है

2. मैंने अपना git उपयोगकर्ता ईमेल सेटअप किया है

3. मैंने अपने /home/meder/.ssh/id_rsa.pub की सामग्री को github के खाता पृष्ठ पर अपलोड कर दिया है। मैंने सत्यापित किया है कि मैंने कोई व्हाट्सएप पेस्ट नहीं किया है

4. मैंने इन सामग्रियों के साथ एक ~ / .ssh / config बनाया है:

  Host github.com
  User git
  Hostname github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

मैंने .ssh को 700, id_rsa 600 को chmodded किया है

5. मैंने टाइपो बनाए बिना उचित दूरस्थ मूल को जोड़ा है :git remote add origin git@github.com:medero/cho.git

6. # 5 की पुष्टि करने के लिए, यहां मेरा .गित / कॉन्फ़िगरेशन है। निर्देशिका सही है और दूसरी निर्देशिका नहीं है:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@github.com:medero/cho.git

7. ssh git@github.com -v मुझे एक सफल प्रमाणीकरण देता है

8. एक अजीब बात यह है कि, यह जिस उपयोगकर्ता के साथ मुझे अभिवादन करता है, वह इसके साथ tसंलग्न है। मेरा github उपयोगकर्ता नाम है medero, नहीं medert

हाय मादरचोद! आपने सफलतापूर्वक प्रमाणित कर लिया है, लेकिन GitHub शेल एक्सेस प्रदान नहीं करता है।

9. मैं एक प्रॉक्सी या फ़ायरवॉल के पीछे नहीं हूँ

10. कुंजी की पेशकश की है, से उत्पादन heres -v:

debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home/meder/.ssh/known_hosts:58
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/meder/.ssh/id_rsa
debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: { some stuff, dont know if i should share it

debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).

11. यहाँ मैं इस्तेमाल किया आदेश हैं

mkdir cho
git init
touch README
git add README
git commit -m 'test'
git remote add origin git@github.com:medero/cho.git
git push -u origin master

12. मैं एक नई SSH कुंजी नहीं बनाना चाहता।

13. यदि मैं ssh का उपयोग कर क्लोन बनाता हूं और एक संपादन, कमिट और पुश पुश करता हूं, तो मुझे वही सटीक बात मिलती है।

14. यहाँ वास्तविक त्रुटि है:

$ git push
ERROR: Permission to medero/cho.git denied to mederot.
fatal: The remote end hung up unexpectedly

15. मेरे सेटअप में मेरा github यूजरनेम और github टोकन है:

$ git config --global github.user medero $ git config --global github.token 0123456789yourf0123456789tokenSit सिस्टम पर सभी g उदाहरणों के लिए GitHub टोकन सेट करता है

16. मैंने पुष्टि की है कि मेरा जीथब उपयोगकर्ता नाम नहीं है mederotऔर मेरा जीथब टोकन टोकन मेरे खाता पृष्ठ के अनुसार है (पहले 2 वर्ण और अंतिम 2 वर्ण सत्यापित)।

17. # 16 की पुष्टि करने के लिए, ~ / .gitconfig होता है

[github]
    token = mytoken...
    user = medero

18. मैंने किया ssh-key add ~/.ssh/id_rsaअगर यह भी आवश्यक है ...



सिद्धांत:

मुझे संदेह है कि कुछ गड़बड़ है क्योंकि जब मैं ssh को प्रमाणित करता हूं, तो उपयोगकर्ता अभिवादन करता है mederotऔर नहीं medero, जो कि मेरा ऐक्ट है। क्या मेरे जीथब खाते में कुछ गलत तरीके से भरा जा सकता है?

मुझे कुछ स्थानीय ssh कैशिंग के अजीब होने पर भी संदेह है क्योंकि अगर मैं mv ~/.ssh/id_rsa KAKAऔर mv ~/.ssh/id_rsa.pub POOPOOकरूँ ssh git@github.com -v, तो यह अभी भी मुझे प्रमाणित करता है और कहता है कि जब मैंने इसका नाम बदला तो यह मेरे /home/meder/.ssh/id_rsa पर कार्य करता है ?! यह कैश किया जाना है ?!


मैं "विंडोज के लिए जीथब" का उपयोग कर रहा हूं और इसी तरह का मुद्दा था जब दो जीथूब खातों के बीच स्विच किया गया था। यहाँ मेरा समाधान है: stackoverflow.com/questions/18565876/…
एलिसा

यदि आप 2 अलग-अलग स्थानीय रिपोज से उनकी संबंधित मूल रिमोट रेपो पर पुश करना चाहते हैं, तो इसे देखें: stackoverflow.com/q/63291726/12033855
a4s911

जवाबों:


35

चरण 18 में, मेरा मतलब है कि आप ssh-add ~/.ssh/id_rsa? यदि ऐसा है, तो यह बताते हैं:

मुझे कुछ स्थानीय ssh कैशिंग अजीबता पर भी संदेह है क्योंकि अगर मैं mv ~ / / .sh / id_rsa KAKA और mv ~ / .ssh / id_rsa.pub POOPOO करता हूं, और ssh git@gmailub.com -v करता हूं, तो यह अभी भी मुझे प्रमाणित करता है और कहता है कि यह कार्य करता है। जब मैंने इसका नाम बदला तो मेरा /home/meder/.ssh/id_rsa ?! यह कैश किया जाना है ?!

... चूँकि ssh-agentआपकी कुंजी कैशिंग है।

यदि आप GitHub को देखते हैं, तो एक औसत खाता है। क्या आप सुनिश्चित हैं कि यह आपके साथ कुछ भी नहीं है? GitHub को उसी SSH सार्वजनिक कुंजी को दो खातों में जोड़ने की अनुमति नहीं देनी चाहिए, जब से आप उन git@github.com:...URL का उपयोग कर रहे हैं जो SSH कुंजी के आधार पर उपयोगकर्ता की पहचान कर रहे हैं । (यह अनुमति नहीं दी जानी चाहिए कि यहाँ पुष्टि की गई है ।)

इसलिए, मुझे संदेह है (संभावना के घटते क्रम में) कि निम्नलिखित में से एक मामला है:

  1. आपने पूर्व में औसत खाता बनाया था और इसमें अपनी SSH कुंजी जोड़ी थी।
  2. किसी और ने आपकी सार्वजनिक कुंजी की एक प्रति प्राप्त की है और इसे मेडिटॉट GitHub खाते में जोड़ा है।
  3. GitHub में एक भयानक बग है।

अगर 1 मामला नहीं है, तो मैं GitHub को इसकी सूचना दूंगा, इसलिए वे 2 या 3 के बारे में जांच कर सकते हैं।

अधिक :

ssh-add -l जाँच करें कि क्या एक से अधिक पहचान मौजूद है यदि हाँ, तो ssh-add -d "" कुंजी फ़ाइल द्वारा निकालें


बहुत मदद मार्क! यह मेरे लिए भी तय है।
लीची पीची

यही था वह। आपने मुझे बहुत बड़ा सिरदर्द होने से बचाया। अब मुझे बस ssh-add ...हर बार याद रखना है कि मैं अपने गिटब / एसएचएस लॉगिन को स्विच करना चाहता हूं।
सेरिन

किसी कारण से ssh-add -d <keyfile>काम नहीं करता है। (मैन्युअल रूप से tyhe फ़ाइलों को हटाने का किया।) आपके द्वारा उल्लिखित कैशिंग को मैन्युअल रूप से किसी भी तरह पुनः लोड किया जाना चाहिए। कैसे?
दोपहर

ssh-add -d-> "आपके प्रमाणीकरण एजेंट के लिए कनेक्शन नहीं खोला जा सका।"
एलेक्स

ssh-addबिट है कि यह मेरे लिए किया था। धन्यवाद!
रेयरेंग

160

कुछ दिनों के लिए गोग्लिंग के बाद, मैंने पाया कि यह मेरी स्थिति के समान एकमात्र प्रश्न है।

हालाँकि, मैंने अभी समस्या हल की है! इसलिए मैं इस मुद्दे की खोज करने में किसी और की मदद करने के लिए अपना जवाब यहां दे रहा हूं।

मैंने जो किया था यह रहा:

  1. "चाबी का गुच्छा Access.app" खोलें (आप इसे स्पॉटलाइट या लॉन्चपैड में पा सकते हैं)

  2. श्रेणी में "सभी आइटम" चुनें

  3. "Git" खोजें

  4. हर पुरानी और अजीब चीज को हटाएं

  5. फिर से पुश करने की कोशिश करें और यह सिर्फ काम करता है


17
अंगूठे को दोस्त। तुम हीरो हो।
प्रिंस बंसल

1
नरक हाँ, आखिरकार, अनगिनत एसएसएच कुंजी के साथ संघर्ष करने के बाद, यह जवाब है कि काम किया है! लगता है कि मैक और https एक्सेस किचेन का उपयोग करता है। पागल।
पैट्रिक चू

1
आप के लिए इस साल की कोशिश खत्म हो गया है
जॉन Hendershot

1
बहुत सहायक लगता है, लेकिन स्पष्ट नहीं है कि क्या है old & strange। क्या मैं सामान के भार को गड़बड़ाने वाला हूं ..?
भू

1
@geotheory old & strangeपुरानी पुरानी वस्तुओं और गलत ईमेल या उपयोगकर्ता नाम का अर्थ है। आप तालिका को इसके अनुसार क्रमबद्ध कर सकते हैं Date Modified
ऐलिस चैन

91

यदि विंडोज़ पर समस्या आ रही है तो विंडोज इतिहास से क्रेडेंशियल्स को हटा दें।

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

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

git से क्रेडेंशियल्स निकालें


2
उत्तम। मुझे उस खाते के साथ 403 की पहुँच प्राप्त हो रही थी जिसका मैं अब उपयोग नहीं करता। अब हल हो गया।
एंटोन एपिखिन

1
केवल मेरे लिए github.com क्रेडेंशियल हटाना पर्याप्त था
बार्ट डी बोएक

और वहां आप अपना उपयोगकर्ता नाम और कुछ भी बदल सकते हैं। यह ही तरीका है।
पश्चिमीगंज

वास्तव में यह मेरे लिए भी काम करता है लेकिन अगर मेरे 2 अलग-अलग खाते हैं तो मैं क्या करूंगा?
a4s911 21

22

मैक पर, यदि आपके पास कई GitHub लॉगिन हैं और SSH का उपयोग नहीं कर रहे हैं , तो उपयोग करके सही लॉगिन को मजबूर करें:

git remote set-url origin https://username@github.com/username/repo-name.git

यह भी काम करता है अगर आप एक निजी भंडार में धकेलने वाले मुद्दे हैं।


1
धन्यवाद, यह मेरे लिए काम किया। इसने मुझे पासवर्ड के लिए प्रेरित किया और मैंने अपना पासवर्ड प्रदान करने के बाद मुझे पुश करने में सक्षम किया। बहुत सराहना की!
पिक्सेल

... लेकिन यह मेरे लिए विंडोज पर समस्या हल नहीं हुई, केवल मैक पर
पिक्सेल

... लेकिन Windows पर क्रेडेंशियल्स को साफ करने के लिए @ फाहिद सुझाव ने मदद दी
पिक्सेल

तुम हीरो हो।
वैभव

यह सही उत्तर है अगर हम कई गितुब परियोजनाएं जो विभिन्न खातों से संबंधित हैं
गंगाधर जन्नू

14

एक संघर्ष के कारण।

Ssh- एजेंट से सभी कुंजियाँ साफ़ करें

ssh-add -d ~/.ssh/id_rsa
ssh-add -d ~/.ssh/github

जीथब एसश की जोड़ें

ssh-add   ~/.ssh/github

यह अब काम करना चाहिए।


3
यह भी ssh-add -Dसभी पहचानों को हटा देता है, यदि एजेंट अमान्य स्थिति में जाता है तो उपयोगी हो सकता है।
सैम

6

मैं मैक का उपयोग कर रहा हूं और इश्यू को किचेन एक्सेस एप से जीथब रिकॉर्ड को हटाकर हल किया गया है: यहां मैंने वही किया है:

  1. "चाबी का गुच्छा Access.app" खोलें (आप इसे स्पॉटलाइट orLaunchPad में पा सकते हैं)
  2. श्रेणी में "सभी आइटम" चुनें
  3. "Git" खोजें
  4. हर पुरानी और अजीब वस्तुओं को हटा दें फिर से पुश करने की कोशिश करें और यह सिर्फ काम किया

ऊपर के चरणों को आसानी के लिए @spyar से कॉपी किया जाता है।


6

मुझे लगता है कि समाधान वही है जो @spyar प्रदान करता है जो कि किचेन एक्सेस है ऐप है जो पुराने उपयोगकर्ता नाम को संग्रहीत करता है।

इस स्थिति के लिए 2 समाधान हैं:

  1. किचेन एक्सेस द्वारा जानकारी हटाएं
    • किचेन एक्सेस ऐप खोलें
    • गितुब की खोज करें
    • संबंधित क्रेडेंशियल्स हटाएं

या

  1. यदि आप उपयोग करते हैं तो ssh कुंजी का उपयोग करना चाहते हैं । आप बस अपने रेपो यूआरएल को https से बदल दें

https://github.com/username/repo.git

में

git@github.com: उपयोगकर्ता नाम / repo.git

उम्मीद है की यह मदद करेगा।


2

मैं हाल ही में इस मुद्दे पर अपनी मशीन पर पुराने रेपो पर भाग गया था जिसे https का उपयोग करके धक्का दिया गया था। चरण 5 और 6 ने मेरे रेपो के लिए रिमोट यूआरएल को https url से ssh url पर फिर से सेट करके मेरे मुद्दे को हल किया

रिमोट की जाँच https url का उपयोग कर रही है

> git remote -v
origin  https://github.com/ExampleUser/ExampleRepo.git (fetch)
origin  https://github.com/ExampleUser/ExampleRepo.git (push)

तब ssh url का उपयोग करने के लिए मूल को फिर से सेट करना

> git remote set-url origin git@github.com:ExampleUser/ExampleRepo.git

नए रिमोट का सत्यापन

> git remote -v
origin  git@github.com:ExampleUser/ExampleRepo.git (fetch)
origin  git@github.com:ExampleUser/ExampleRepo.git (push)

अब सफलतापूर्वक हो सकता है git push -u origin

मुझे अभी भी यकीन नहीं है कि मैंने क्या सेटिंग बदल दी है जो कि दूरस्थ https होने पर पुश को विफल करने का कारण हो सकता है लेकिन यह इस मुद्दे का समाधान था


त्रुटि: अवास्तविक / संश्लिष्ट-संगणक-दृष्टि के लिए अनुमति। घातक: दूरस्थ रिपॉजिटरी से नहीं पढ़ सकता है। कृपया सुनिश्चित करें कि आपके पास सही एक्सेस अधिकार हैं और रिपॉजिटरी मौजूद है।
मोना जलाल

1

मुझे आप जैसी ही समस्या थी। लंबे समय तक Googling बिताए जाने के बाद, मुझे पता चला कि मेरी त्रुटि कई उपयोगकर्ताओं के कारण हुई थी जिन्होंने अपने खातों में एक ही कुंजी जोड़ी थी।

इसलिए, यहां मेरा समाधान है: गलत-उपयोगकर्ता की ssh-key को हटाएं (मैं ऐसा कर सकता हूं क्योंकि गलत-उपयोगकर्ता भी मेरा खाता है)। यदि गलत उपयोगकर्ता आपका खाता नहीं है, तो आपको अपनी ssh-key बदलने की आवश्यकता हो सकती है, लेकिन मुझे नहीं लगता कि यह होने वाला है।

और मुझे लगता है कि आपके खातों के नाम में एक गलत त्रुटि के कारण आपकी समस्या हो सकती है।


0

यह समस्या इसके कारण भी है:

यदि आप एक mac / linux पर हैं, और अपने ~ / .ssh / config में 'ControlMaster' का उपयोग कर रहे हैं, तो कुछ ssh नियंत्रण मास्टर प्रक्रियाएँ चल सकती हैं।

उन्हें खोजने के लिए, दौड़ें:

ps aux | grep '\[mux\]'

और संबंधितों को मार डालो।


0

मैं भी इसमें भाग गया, मेरे लिए इसका कारण यह है कि रेपो का क्लोनिंग करते समय मैं अपने परिवर्तनों को आगे बढ़ा रहा था, मैंने साइन इन किए बिना एक गुप्त टैब से क्लोन URL उठाया। (मैं अभी भी इस बात से अवगत हूं कि यह कैसे प्रभाव डालता है)। कि किसी कारण से एक अन्य उपयोगकर्ता खाता लेने के लिए नेतृत्व किया। जब मैंने इसे एक उचित हस्ताक्षरित पृष्ठ से दोबारा आज़माया तो यह मेरे लिए हमेशा की तरह काम किया।


0

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

मैंने अंततः ट्रैविस खाते से संबंधित स्कोप एक्सेस अनुमति के साथ GitHub व्यक्तिगत एक्सेस टोकन को अपडेट करके समस्या को हल किया public_repo:

<Code> public_repo </ code> चुनें

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