GitHub: अनुमति अस्वीकृत (publickey)। घातक: दूरस्थ अंत अप्रत्याशित रूप से लटका हुआ है


197

मैंने प्रोजेक्ट अपलोड करने के लिए नीचे दिए गए इन निर्देशों का पालन किया है।

वैश्विक सेटअप:

 Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email tirenga@gmail.com
  Add your public key


Next steps:

  mkdir tirengarfio
  cd tirengarfio
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:tirenga/tirenga.git
  git push origin master

लेकिन मुझे यह त्रुटि मिली:

अनुमति से इनकार (publickey)। घातक: दूरस्थ अंत अप्रत्याशित रूप से लटका हुआ है

जवाबों:


24

मेरे लिए समस्या सूडो के माध्यम से क्लोन का निष्पादन था।

यदि आप किसी निर्देशिका में जाते हैं जहाँ आपके पास उपयोगकर्ता की अनुमति (/ होम / उपयोगकर्ता / git) है तो यह ठीक काम करेगा।

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

इस समाधान के लिए पहले से ही एसएसएच कुंजी की आवश्यकता है: https://help.github.com/articles/generating-s-t


1
यह समाधान शिक्षार्थी_19 द्वारा पहले से ही पोस्ट किए गए बहुत करीब लगता है
एरिक

125

मुझे अपनी सार्वजनिक कुंजी को जीथब में जोड़ना था। https://help.github.com/articles/generating-ssh-keys


3
यदि आप एक linux मशीन चला रहे हैं, तो यदि आप emacs या नैनो का उपयोग कर रहे हैं, तो id_rsa.pub फ़ाइल की सामग्री की नकल करना मुश्किल हो सकता है। एक टेक्स्ट एडिटर (नोटपैड, टेक्स्टएडिट, या गेडिट बस ठीक करेंगे) के साथ कॉपी करने की कोशिश करें। यदि आपके पास इनमें से कोई भी नहीं है, तो आप विम का उपयोग कर सकते हैं।
गोकुल एनके

4
@GokulNK पेज को सुझाते हुए अन्य विकल्प का उपयोग करना है।
w4etwetewtwet

7
cat ~/.ssh/id_rsa.pubएक विकल्प हो सकता है? : p
torr

आप pbcopy < ~/.ssh/id_rsa.pubओएस एक्स में उपयोग कर सकते हैं और फिर इसे cmd+vजीथब पृष्ठ में पेस्ट कर सकते हैं ।
user3648895

28

हाँ, यह एक सार्वजनिक कुंजी समस्या है। मैं एक विंडोज़ उपयोगकर्ता हूं , और नीचे दिया गया पृष्ठ इस समस्या को हल करने में मेरी मदद करता है।

http://help.github.com/win-set-up-git/

अधिक सटीक रूप से यह लिंक सहायक होना चाहिए

https://help.github.com/articles/error-permission-denied-publickey


57
जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
लिक्स

28

RSA कुंजी जोड़ी बनाने के बाद, आपको इसका उपयोग करके SSH में जोड़ना होगा:

ssh-add ~/.ssh/id_rsa

या जहाँ भी आपने अपनी rsa कुंजी जोड़ी बनाई है।


Lifesaver! तुमने सिर पर कील ठोक दी है। धन्यवाद
Tash Pemhiwa

सहमत, पहले यह जांचना महत्वपूर्ण है कि क्या ssh- एजेंट चल रहा है (GitHub के प्रलेखन में एक ऐसा है), और क्या इसकी कीरिंग में कुंजी जोड़ी गई है। हालांकि जाँच के लायक कुछ और है, भले ही यह ssh-Agent की कीरिंग में उपयोग की जाने वाली कुंजी को रोक सके, निजी कुंजी के लिए सही एक्सेस मोड है : यह 0600 होना चाहिए ( chmod 600 ~/.ssh/id_rsaमूल रूप से)।
चिकमची

18

अपने उपयोगकर्ता नाम और रिपॉजिटरी नाम का उपयोग करके निम्नलिखित कमांड टाइप करें:

git clone https://github.com/{user name}/{repo name}

Ubuntu में यह पूरी तरह से काम करता है।


मुझे लगता है कि https प्रोटोकॉल के लिए एक सुरक्षित कनेक्शन की आवश्यकता है, यही कारण है कि यह काम करता है। Git @ github .. मशीन के लिए सुरक्षित नहीं है।
तिमो

16

मुझे ट्यूटोरियल में लंबे समय के बाद एक समाधान मिला।

मैंने इस लिंक पर github ट्यूटोरियल का अनुसरण किया -> https://help.github.com/articles/error-permission-denied-publickey और मैं हर चरण में कनेक्ट करने में सक्षम था। लेकिन जब मैं पुश -यू मूल गुरु के लिए कोशिश कर रहा था तो मुझे यह त्रुटि मिली:

अनुमति से इनकार (publickey)। घातक: दूरस्थ रिपॉजिटरी से नहीं पढ़ सकता है।

कृपया सुनिश्चित करें कि आपके पास सही एक्सेस अधिकार हैं

Thats कैसे मैं इसे तय किया है !! टर्मिनल का उपयोग करके परियोजना निर्देशिका पर जाएं और इसे देखें

$git remote -v

आपको कुछ इस तरह मिलेगा:

origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (fetch)
origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (push)

यदि आप कुछ भी अलग प्रयोग कर रहे हैं तो git@github.com , कमांड टाइप करके git डाइरेक्टरी पर कॉन्फिग फाइल खोलें:

vi .git/config

और लाइन को कॉन्फ़िगर करें

[remote "origin"]

url = ssh://git@github.com/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/origin/

मेरे लिए यह वास्तव में git@github.com को <myusername> @ github.com
Eduard Feicho

"Git रिमोट -v" कमांड वह नहीं है जिसे मैंने पहले देखा था, और यह समझने की कुंजी बन गई कि मेरा एक रिपॉज क्यों काम कर रहा था, जबकि दूसरा "अनुमति अस्वीकृत (publickey)" जब मैं लौट रहा था "गिट ls- रिमोट" चलाने की कोशिश की। बहुत उपयोगी। धन्यवाद।
केविन

6

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


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

1
वास्तव में कैसे प्रदर्शन करने के लिए स्पष्टीकरण की निश्चित कमी।
रिचर्ड

मैं इसे बाहर जादू नहीं करना चाहिए, यह आपके लिए है रिचर्ड! मैं अपने गैर-रूट खाते का उपयोग कर रहा था। मुझे sudo उपसर्ग के साथ github हेल्प url ( help.github.com/articles/generating-ssh-keys#platform-linux ) से कमांड परफॉर्म करना था ।
दान पावर

5

मुझे यह समस्या थी, लेकिन ऊपर दिए गए समाधानों में से कोई भी काम नहीं किया। मैं क्लोन और ला सकता था लेकिन धक्का नहीं दे सकता था। आखिरकार, मुझे लगा कि समस्या urlमेरे अंदर है .git/config, यह होनी चाहिए:

git@github.com:<username>/<project>

(नहीं ssh://github.com/<username>/<project>.gitया नहीं https://github.com/<username>/<project>.git)।


2
एक SSH कनेक्शन के लिए, git@भाग जादू है। तो ssh://git@github.com/username/project.gitभी काम करता है।
बिशप

.it वास्तव में महत्वपूर्ण है। यह समाधान एकदम सही काम करता है।
ओनोर गोकर

5

यह देखते हुए कि यहां किसी भी जवाब ने मेरे लिए काम नहीं किया, मैंने आखिरकार बिट -बकेट (या गितुब, इस मामले में कोई फर्क नहीं पड़ता) को ssh -vT git@bitbucket.org से जोड़कर अपने मुद्दे को ट्रैक किया।

मेरे मामले में, विफलता RSA के बजाय एक DSA कुंजी का उपयोग करने के कारण थी, और जाहिर है मेरे SSH क्लाइंट अब अनुमति नहीं देते हैं।

debug1: Sub-dss key /c/User/USER/.ssh/id_dsa को PubkeyAcceptedKeyTypes में नहीं छोड़ना

इसका समाधान .ssh / config में जोड़ना था:

Host *
    PubkeyAcceptedKeyTypes +ssh-dss

यह सभी ssh-dss कुंजी प्रकार को सभी मौजूदा स्वीकृत सार्वजनिक कुंजी प्रकारों में जोड़ देता है और ऐसा किए जाने के बाद, git अब Bitbucket में कोई समस्या नहीं कर सकता है।


दिसंबर 2015 में डेबियन अस्थिर मशीन पर मेरे लिए यह समाधान था। मैंने इसे "होस्ट bitbucket.org" तक सीमित कर दिया था क्योंकि मेरे पास पहले से ही इसके लिए एक प्रविष्टि थी ताकि मैं अपनी पहचान चयन के लिए मजबूर कर सकूं।
बिटमशर 18

3

मेरा मुद्दा यह था कि मैं अपने मैक टर्मिनल पर हर बार दर्ज करने के लिए अपनी ssh कुंजी को एक विशेष नाम देना चाह रहा था ssh-keygen

मैंने सिर्फ नाम छोड़ कर इस मुद्दे को हल किया कि "ssh-keygen" = उत्पन्न करता है id_rsa। आप एक मैक पर अपने .ssh फ़ोल्डर में 2 कुंजी के साथ समाप्त करेंगे id_rsa, जो कि आपकी निजी कुंजी है, और id_rsa.pubजो आपकी सार्वजनिक कुंजी है। फिर मैंने कॉपी की और id_rsa.pubअपने GitHub अकाउंट सेटिंग्स से कोड को सहेजा , और वह यह था। समस्या सुलझ गयी।


मेरे लिए भी वैसा ही। नाम खाली छोड़ देने से समस्या ठीक हो गई। धन्यवाद।
बर्क

यार, तुमने मेरा दिन कर दिया! विशिष्ट प्रमुख नामों के कारण कंसोल के साथ 2 सप्ताह! धन्यवाद!
ईलास

यह मदद की खुशी है! @ इलियास
पाओपाओ

क्योंकि ज्यादातर सिस्टम पर डिफ़ॉल्ट निजी कुंजी (कारण यह काम करता है ~/.ssh/id_rsa, ~/.ssh/id_dsaऔर ~/.ssh/identity) स्वचालित रूप से SSH प्रमाणीकरण एजेंट से जुड़ जाते हैं।
मफ्फो


2

सार्वजनिक कुंजी जोड़ना समाधान है। ssh कुंजियों को बनाने के लिए: https://help.github.com/articles/generating-ssh-keys के पास चरण निर्देश हैं।

हालाँकि, यदि समस्या सही तरीके से उत्पन्न नहीं होती है तो समस्या बनी रह सकती है। मुझे यह एक उपयोगी लिंक भी लगा: https://help.github.com/articles/error-permission-denied-publickey

मेरे मामले में समस्या यह थी कि मैं sudo का उपयोग किए बिना ssh-key उत्पन्न कर रहा था लेकिन git कमांड का उपयोग करते समय मुझे sudo का उपयोग करने की आवश्यकता थी। उपरोक्त लिंक में यह टिप्पणी "यदि आप बिना sudo के SSH कुंजी उत्पन्न करते हैं, तो जब आप sudo git पुश जैसी कमांड का उपयोग करने का प्रयास करते हैं, तो आप SSH कुंजी को उत्पन्न नहीं करेंगे।" मेरी मदद की।

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


1

मुझे Windows में SSH या Git Clone चलाते समय एक समान समस्या का सामना करना पड़ा। निम्नलिखित निष्कर्ष मेरी समस्या को हल करने में मदद करते हैं:

  • जब आप ssh कुंजी उत्पन्न करने के लिए "rhc सेटअप" या अन्य ssh विधियाँ चलाते हैं, तो यह आपके होम फोल्डर में निजी कुंजी फ़ाइल idrsa .ssh फ़ोल्डर बनाएगा, डिफ़ॉल्ट C: \ User \ UserID है
  • विंडोज़ के लिए Git की अपनी स्थापना निर्देशिका में अपना स्वयं का .ssh फ़ोल्डर है। जब आप git / ssh चलाते हैं, तो यह इस फ़ोल्डर में निजी कुंजी फ़ाइल id_rsa के लिए दिखेगा
  • Id_rsa को होम फोल्डर से .shsh फोल्डर में .ssh फोल्डर में git इंस्टॉलेशन डायरेक्टरी में कॉपी करके समस्या को हल किया।

इसके अलावा, मुझे लगता है कि होम फ़ोल्डर में डिफ़ॉल्ट .shsh फ़ोल्डर का उपयोग करने के लिए "बताने" का एक तरीका है, लेकिन फिर भी यह पता लगाने की आवश्यकता है कि कैसे।


1

मेरे लिए, यह इस तरह काम किया:

GitHub में मैंने sshलिंक को बदल दिया https, और फिर निम्नलिखित कमांड दी:

$ git init
$ git remote add origin https:...
$ git add .
$ git commit -m "first commit"
$ git push origin master

0

विंडो स्टोर पर ubuntu का प्रयोग करें

लिनक्स के लिए विंडोज़ सबसिस्टम

, आपका गिट पुश विभिन्न खातों में काम करेगा।


0

यदि आप एक linux मशीन का उपयोग कर रहे हैं तो जाँच करें,

  • क्या आपके पास ओपेंश स्थापित है
  • यदि आप करते हैं, तो आपके पास एक मौजूदा सार्वजनिक कुंजी है अन्यथा आपको एक उत्पन्न करना होगा।
  • आपकी सार्वजनिक कुंजी आपके github खाते में जोड़ दी गई है।

नई SSH कुंजियाँ बनाना और उन्हें मेरे Github खाते में जोड़ने से मेरी समस्या हल हो गई। अधिक जानकारी के लिए आप इस पेज पर देख सकते हैं। GitHelp


0

आप अपने प्रकार के कनेक्शन को ssh से https तक शाखा में बदलने का प्रयास कर सकते हैं।

  1. nano project_path/.git/config
  2. को प्रतिस्थापित git@github.com:username/repository.gitकरेंhttps://username@github.com/username/repository_name.git
  3. फ़ाइल ctrl+ सहेजेंo

उसके बाद आप git pullपबलीके बिना कोशिश कर सकते हैं


-1

आपको SSH कुंजी सेट करने की आवश्यकता है।

यह GitHub पेज बताता है कि किस तरह से चाबियाँ बनाई जाती हैं।

यदि आपके पास कोई मौजूदा कुंजी है, तो आप $HOME/.ssh/id_rsa.pubइसे GitHub SSH सेटिंग पेज में कॉपी और पेस्ट करते हैं ।


-1

यदि आप मैक का उपयोग कर रहे हैं तो इसे ठीक करने का एक त्वरित तरीका OSX ऐप से साइन आउट करना और वापस लॉग इन करना है।


-1

मेरी समस्या यह थी कि यह मेरी निजी कुंजी पर पासफ़्रेज़ के साथ काम नहीं करता था।

आशा है कि किसी की मदद करता है।


-2

मुझे भी आज यह समस्या है। समाधान आपकी "ssh कुंजी" सेट कर रहा है। नीचे दिए गए यूआरएल पर क्लिक करें, चरणों का पालन करें, फिर आप इसे सोख लेंगे।

http://github.com/guides/providing-your-ssh-key


-3

मैंने बताए गए समाधानों की कोशिश की लेकिन फिर भी असफल रहा। मुझे वह समाधान मिला जो अंत में मेरे लिए यहां काम करता था - फिर दूरस्थ लिंक को फिर से जोड़ना


-4

मैं खिड़कियों पर एक ही मुद्दा था। मैंने SSH से HTTPS में स्विच किया और Git PUSH चलाया।

git push -u origin master
Username for 'https://github.com': <Github login email>
Password for <Github login>: xxx

सफल! उम्मीद है की यह मदद करेगा।


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