गेट त्रुटि: "कृपया सुनिश्चित करें कि आपके पास सही एक्सेस अधिकार हैं और रिपॉजिटरी मौजूद है"


97

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

कृपया सुनिश्चित करें कि आपके पास सही एक्सेस अधिकार हैं और रिपॉजिटरी मौजूद है

अधिक सटीक रूप से, टर्मिनल का स्नैपशॉट निम्नलिखित है:

git.exe क्लोन --progress -v "git @ arobotdev: \ git \ AlfaRobot.git" "C: \ Work \ AlfaRobot"

क्लोनिंग में 'C: \ Work \ AlfaRobotot ...
अनुमति अस्वीकृत, कृपया पुनः प्रयास करें।
अनुमति से इनकार कर दिया, कृपया पुन: प्रयास करें।
अनुमति अस्वीकृत (publickey, पासवर्ड)।
घातक: दूरस्थ भंडार से नहीं पढ़ सकता था।

कृपया सुनिश्चित करें कि आपके पास सही एक्सेस अधिकार हैं
और रिपॉजिटरी मौजूद है।

git सफाई से बाहर नहीं निकला (बाहर निकलें कोड 128) (21450 ms @ 19.09.2014 10:36:58)

मुझे ठीक से काम करने के लिए क्या करना चाहिए?


1
ssh कीजन पैदा करने की कोशिश करें और जोड़ें
राजा साइमन

SSH कुंजी बनाने के लिए शेल (या विंडोज में गिट बश) का उपयोग करना:$ ssh-keygen -t rsa -C "youremail@example.com"
बेल्टर

उस त्रुटि को git@github.com पते पर बदलने के बाद हर समय पासवर्ड टाइप न करने के लिए था। वास्तविक गलती जिसके कारण यह मेरी सार्वजनिक कुंजी को गितुब पर जोड़ना भूल गया था।
dasWesen

जवाबों:


76

आपका git URL बदल गया होगा। निम्न आदेश का उपयोग करके स्थानीय निर्देशिका में URL बदलें

git remote set-url origin git@yourGitUrlHere

17
FYI करें github अब एक url योजना का उपयोग करता है:git remote set-url origin https://github.com/username/repository.git
RyPope

2
@RyPope आप किसी भी प्रोटोकॉल को git (ssh) या https का उपयोग कर सकते हैं, यह आपकी इच्छा है। github में अब दोनों प्रोटोकॉल हैं gitऔर https
विष्णु

@ विष्णु क्या XXXXXXX?
244boy

@RyPope इसे उत्तर में बदलें
ishandutta2007

मेरे द्वारा बहुत सामान्य गलती की गई थी। मैंने क्लिप कमांड का उपयोग करके कॉपी की xclip -sel clip < ~/.ssh/id_rsa.pub, लेकिन जीथब कुंजी इनपुट बॉक्स में चिपकाने के दौरान, मैंने बैकस्पेस का उपयोग करके पिछली नई पंक्ति को हटा दिया, जिसने वास्तव में सार्वजनिक कुंजी को बदल दिया। इसलिए, ssh सार्वजनिक कुंजी को हमेशा कॉपी और पेस्ट करें क्योंकि यह अंतिम नईलाइन को हटाए बिना है।
अमरेश त्यागी

62

यह समस्या आपके ssh- एजेंट के साथ हो सकती है, आपकी ssh कुंजी ssh-agent के साथ नहीं जोड़ी गई है। आपको अपने टर्मिनल का उपयोग करके निम्नलिखित चरणों को लागू करना होगा: -

  1. $ eval "$ (ssh-Agent -s)"

    एजेंट पीआईडी ​​5867

  2. $ ssh-add

    /Home/you/.ssh/id_rsa के लिए पासफ़्रेज़ दर्ज करें: [] पहचान जोड़ी गई: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)

तब यह काम करेगा..चाहे जे।


11
क्लोनिंग करते समय अभी भी एक त्रुटि हो रही है:fatal: Could not read from remote repository.
इगोरगानपोलस्की

मेरे लिए काम करने के लिए धन्यवाद, मैंने डिफ़ॉल्ट id_rsa की तुलना में अलग-अलग कुंजी बनाई है, इसलिए बस इसके बाद के संस्करण ssh-add -K ~ / .ssh / id_rsa_other_project के ऊपर अतिरिक्त रूप से करना है।
नितेश

हाँ, यह किसी भी मुद्दे को ठीक नहीं करेगा। आपकी पहचान को ssh में जोड़ने से हर बार आपके प्रमाणित पासवर्ड के लिए पूछना बंद हो जाता है
DMCCallum83

खुश होती है। मैं टी रन से फेल हो गया था brew update। जब मैं ssh-addकमांड चलाने से पहले भागा , तो यह काम किया। आशा है कि मैं यह सब समय नहीं दोहराऊँगा।
19

अभी भी त्रुटि प्राप्त करें "होस्ट कुंजी सत्यापन विफल रहा। घातक: दूरस्थ रिपॉजिटरी से नहीं पढ़ सका।" लेकिन मेरे लिए ज्ञात होस्ट को जोड़ना: stackoverflow.com/questions/15214977/…
रिकुइवियन

36

GIT से क्लोन लेते समय SSH के बजाय HTTPS का उपयोग करने का प्रयास करें, इस Url का उपयोग क्लोन लेने के लिए करें, आप Gitbase, Android Studio या किसी अन्य टूल का उपयोग करके शाखा के क्लोन बना सकते हैं। यहां छवि विवरण दर्ज करें


35

मेरे लिए यह मशीन पर कोई SSH कुंजी नहीं होने के कारण था। SSH कुंजी को स्थानीय रूप से जांचें:

$ cat ~/.ssh/id_rsa.pub

यह आपकी SSH कुंजी है। इसे रिपॉजिटरी में अपने एसएसएच कीज में जोड़ें।
गिटलैब में जाते हैं

प्रोफ़ाइल सेटिंग्स -> एसएसएच कुंजी

और कुंजी जोड़ें


7
मैंने आपके द्वारा बताए अनुसार कुंजी जोड़ दी है और अभी भी एक्सेस अस्वीकृत संदेश प्राप्त कर रहा है। कृपया मदद करें
जेट

18

Github अब एक url योजना का उपयोग करता है

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


9

आप ssh पर रिपॉजिटरी को क्लोन करने की कोशिश कर रहे हैं: git@arobotdev...और आपकी SSH कुंजियाँ सर्वर पर ठीक से सेट नहीं हैं। इसके कई कारण हैं:

  1. आपकी सार्वजनिक कुंजी उपयोगकर्ता git की अधिकृत_की फ़ाइल में सहेजी नहीं जा सकती है
  2. यदि 1 सही नहीं है, तो आपकी निजी कुंजी आपके HOMEDIR के .ssh / फ़ोल्डर में सहेजी नहीं गई है।
  3. अनुमतियाँ ठीक से सेट नहीं हैं

यदि उपरोक्त सभी 3 असत्य हैं, तो मेरा एकमात्र प्रयास git@arobotdev:AlfaRobot.git यह हो सकता है: AlfaRobot.it को मान लेना git उपयोगकर्ता के HOMEDIR में है न कि git नामक फ़ोल्डर के अंदर जो उपयोगकर्ता git के HOMEDIR में रहता है।


5

Rsa.pub (अर्थात सार्वजनिक कुंजी उत्पन्न), को github >> सेटिंग्स >> ssh की पेज पर जोड़ा जाना चाहिए। जांचें कि, आपने इस सार्वजनिक कुंजी को रिपॉजिटरी-सेटिंग्स >> परिनियोजन कुंजी में नहीं जोड़ा है। यदि हां, तो यहां से प्रवेश को हटा दें और पहले बताए गए स्थान पर जोड़ें।

विस्तार से पब-निजी कुंजी का सेटअप ।

इसलिए यह काम करेगा!


3
  1. पहली बात जिसे आप पुष्टि करना चाहते हैं वह है इंटरनेट कनेक्शन। हालाँकि, इंटरनेट समस्याएँ ज्यादातर कहेंगी कि रेपो तक पहुँचा नहीं जा सकता।

  2. सुनिश्चित करें कि आपने ssh को स्थानीय और अपने github दोनों पर सेट किया है। देखिये कैसे

  3. सुनिश्चित करें कि आप ssh git रिमोट का उपयोग कर रहे हैं। यदि आपने https को क्लोन कर दिया था, तो बस इस git कमांड के साथ sl url पर सेट करेंgit remote set-url origin git@github.com:your-username/your-repo-name.git

  4. यदि आपने ठीक से ssh सेट किया है, लेकिन यह सिर्फ काम करना बंद कर देता है, तो निम्न कार्य करें:

    • eval "$(ssh-agent -s)"
    • ssh-add

    यदि आप अभी भी समस्या कर रहे हैं, तो यह सुनिश्चित करने के लिए जांचें कि आपने अपने गिथब से ssh को हटा तो नहीं दिया है। ऐसे मामले में जहां ssh को github से हटा दिया गया है, आप इसे वापस जोड़ सकते हैं। pbcopy < ~/.ssh/id_rsa.pubSsh कुंजी कॉपी करने के लिए उपयोग करें और फिर अपने github ssh सेटिंग पर जाएं और इसे जोड़ें।

मैं आपको हमेशा ssh का उपयोग करने की सलाह दूंगा। आपके द्वारा काम की गई अधिकांश टीमों के लिए, आप ssh का उपयोग करने के अलावा रेपो (जो कि ज्यादातर निजी हैं) तक नहीं पहुँच सकते। एक शुरुआत के लिए, यह कठिन प्रतीत हो सकता है लेकिन बाद में आप इसे काफी आसान और अधिक सुरक्षित पाएंगे।


3

मुझे यह समस्या थी, और मुझे पता है कि मेरा सिस्टम गलत डीएनएस पते के साथ था। अपने नेटवर्क की जाँच करें और साथ परीक्षण करें

ssh -vvv git@bitbucket.org

और आउटपुट संदेश पढ़ते हैं। यदि आप देखते हैं "बिटबकेट से कनेक्ट करने के लिए आप गिट या एचजी का उपयोग कर सकते हैं।" , सब कुछ ठीक है।


हैलो @Albert, मैं एक ही मुद्दे का सामना कर रहा हूँ, लेकिन gitlab.com के लिए। आपने समस्या को ठीक करने का प्रबंधन कैसे किया?
अबीरटिस

@AlexandrosBiratsis मैं अपने डीएनएस को अन्य पते से प्रतिस्थापित करता हूं। Opendns या google dns आज़माएं।
अल्बर्ट

2

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


1
त्रुटि संदेश के अनुसार, ऐसा नहीं लगता है कि इंटरनेट कनेक्शन यहां एक मुद्दा है।
jbmusso

2

यहां बताया गया है कि मैं इस मुद्दे को कैसे हल करता हूं। मैं Win7 / 10 पर बाबुन (mintty.exe) का उपयोग कर रहा था। जब मैंने ऊपर वर्णित कई समाधानों की कोशिश की है, और उनमें से कोई भी काम नहीं करता है। मुझे एहसास हुआ कि शायद मैंने गलत ssh एजेंट का इस्तेमाल किया है ... इसलिए मैं echo $GIT_SSHपता लगाने के लिए दौड़ता हूं , यह रास्ता दिखाता हैPlink.exe । क्या मुझे वास्तव में उम्मीद है कि ओपनएसएसएच है।

इसलिए, मैं ~/.zshrcफ़ाइल में एक-लाइनर का अनुसरण करता हूं

नोट 1: आप इसे सीधे बाबुन में भी निष्पादित कर सकते हैं
नोट 2: आप यदि आप बैश का उपयोग करते हैं तो कॉन्फ़िगरेशन फ़ाइल है.bashrc

export GIT_SSH=$(which ssh)

और यह काम करता है!



2

Ssh के बजाय https आज़माएँ। प्रोजेक्ट होम पेज से https विकल्प चुनें जहाँ से आप क्लोन यूआरएल कॉपी करते हैं।


2

यदि यह पहले काम कर रहा था और अचानक काम करना बंद कर दिया था:

यह समस्या उत्पन्न हो सकती है क्योंकि कभी-कभी ssh-agentरिबूट के पार स्थिर नहीं होता है। आपको जांचना चाहिए कि ssh-agentक्या आपकी कुंजी जोड़ी गई है:

ssh-add -l -E md5

अगर आपको आउटपुट मिलता है जैसे:

The agent has no identities.

इसका मतलब ssh-agentहै कि आपकी चाबी खो गई है। उस स्थिति में, आपको बस पहचान कुंजी को फिर से जोड़ना होगा। कुछ इस तरह:

ssh-add ~/.ssh/git_rsa

त्रुटि अब गायब होनी चाहिए!


यह मेरे साथ तब हुआ जब मैंने एक अलग खाते के लिए एक और ssh बनाया, इसलिए मैं बस git_rsaसूची में लापता को जोड़ देता हूं
जॉन

1

यह तब भी हो सकता है जब आप किसी वीपीएन के माध्यम से अपने गिट रिपॉजिटरी से जुड़ रहे हों। सुनिश्चित करें कि आप वीपीएन से जुड़े हैं जो आपके संगठन के संसाधनों तक पहुंचने के लिए उपयोग किया जाता है।


1

Gitlab पर प्रोजेक्ट अपलोड करते समय मुझे यह त्रुटि आई। मैं git से क्लोन नहीं करता था, बल्कि प्रोजेक्ट अपलोड करता था। अपने कोड को gitlab पर धकेलने के लिए आपके पास ssh या https का उपयोग करने के दो तरीके हैं। यदि आप https का उपयोग करते हैं तो आपको gitlab खाते का उपयोगकर्ता नाम और पासवर्ड दर्ज करना होगा। कोड को पुश करने के लिए आप निम्नलिखित का उपयोग कर सकते हैं।

पहली बार गिट को धक्का

>$ cd
>$ mkdir .ssh;cd .ssh
>$ ssh-keygen -o -t rsa -b 4096 -C "email@example.com"

-सी पैरामीटर वैकल्पिक है, यह आपकी कुंजी के अंत में एक टिप्पणी प्रदान करता है कि यदि आप एक से अधिक हैं तो इसे दूसरों से अलग कर सकें। यह id_rsa (आपकी निजी कुंजी) और id_rsa.pub (आपकी सार्वजनिक कुंजी) बनाएगा। हम अपनी सार्वजनिक कुंजी को पास करते हैं और अपनी निजी कुंजी - अच्छी तरह से, निजी रखते हैं। Gitlab की उपयोगकर्ता सेटिंग वह जगह है जहां आप अपनी सार्वजनिक कुंजी को अपने खाते में जोड़ेंगे , जिससे हमें अंततः पुश करने की अनुमति मिलेगी।

अपने प्रोजेक्ट लोकेशन (डायरेक्टरी) में कमांड के नीचे उपयोग करें

git init

यह वर्तमान निर्देशिका को गिट रिपॉजिटरी में बदल देता है। यह वर्तमान निर्देशिका में एक .IT उपनिर्देशिका जोड़ता है और परियोजना के संशोधन को रिकॉर्ड करना शुरू करना संभव बनाता है।

Https पथ का उपयोग करना

git push --set-upstream https://gitlab.com/Account_User_Name/Your_Project_Name.git master

Ssh पथ का उपयोग करना

git push --set-upstream git@gitlab.com:Account_User_Name/Your_project_Name.git master

- सेट-अपस्ट्रीम: बताता है कि उत्पत्ति का मार्ग क्या है। यदि Git ने पहले आपकी वर्तमान शाखा पर धक्का दिया है, तो यह याद रखेगा कि मूल कहाँ है

गुरु : यह उस शाखा का नाम है जिसे मैं प्रारंभ करते समय धक्का देना चाहता हूं


0

अन्य उत्तरों की तरह, httpsइसके बजाय का उपयोग करेंssh समाधान के था।

मैं एक संभावित समाधान का एक ठोस उदाहरण देने के लिए उत्तर देता हूं। जब मैंने दूरस्थ कमांड को इस कमांड लाइन के साथ HTTPS में बदल दिया, तो मैंने बिटबकेट के साथ इस मुद्दे को हल किया:

git remote set-url origin <bitbucket_URL>

उसके बाद, मैं सामग्री को इस कमांड के साथ रिपॉजिटरी में धकेल सकता हूं:

git push -u origin --all

और फिर मैं सॉरीसेट्री भी इस्तेमाल कर सकता था


0

अजीब तरह से मुझे केवल मेरे कई रिपॉज में से 1 में यह त्रुटि मिली।

मेरा मुद्दा विंडोज के लिए नए GitHub डेस्कटॉप को स्थापित करने के बाद था जहां Win के लिए पिछले पुराने GitHub में चाबियाँ रखी गई थीं ~/.ssh/github_rsaऔर ~/.ssh/github_rsa.pubजहां नए GitHub के लिए विन इसकी अपेक्षा करता है, ~/.ssh/id_rsaइसलिए समाधान मौजूदा निजी और सार्वजनिक कुंजी का नाम बदल रहा था:

~/.ssh/github_rsa -> ~/.ssh/id_rsa
~/.ssh/github_rsa.pub -> ~/.ssh/id_rsa.pub

जिसके बाद मुझे बिना किसी समस्या के रेपो को फिर से एक्सेस करने दें।


0

ssh url के बजाय अपने https मूल का उपयोग करें

उदाहरण:

git remote add origin  https://gitlab.com/user/folder.git

0

मैं उबंटू का उपयोग कर रहा हूं

कई उत्तरों को पढ़ने के बाद, उनमें से कोई भी समस्या को हल नहीं कर सकता है, भले ही मैंने पहले ही अपने git खाते में SSH कुंजी जोड़ दी हो, और इसका उपयोग करके परीक्षण करने का प्रयास करें ssh -T git@gitlab.comऔर यह कहाWelcome <my username> , लेकिन यह अभी भी मुझे बताता है कि एक्सेस अधिकार नहीं है। फिर मैंने पाया कारण है:

आम तौर पर यदि आप rootउपयोगकर्ता नहीं हैं , तो आपको इसके साथ चलना होगाsudo हर git कमांड के ।

जब चल रहा हो sudo git clone <SSH....>(उदाहरण के लिए)। यह rootअनुमति के तहत निष्पादित किया जाएगा , लेकिन गलती से जब SSH कुंजी बनाते हैं तो मैं इसे सामान्य उपयोगकर्ता के रूप में चलाता हूं और मैं कुंजी को सहेजता हूं ~/.ssh/id_rsa, यह पूर्ण पथ को हल करता है /home/username/.ssh/id_rsa। और करते समयsudo git clone ... यह SSH कुंजी के लिए लग रहा है/root/.ssh/id_rsa

मैं इस बारे में यकीन क्यों कर सकता हूं। यह देखने के लिए कि git आपके SSH कुंजी के लिए कहाँ दिखता है। यह आदेश चलाएँ sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>:। यह आपको दिखाएगा कि यह आपके SSH कुंजी के लिए कहां दिखता है।

तो मेरा सुझाव है कि समाधान है:

अपनी SSH कुंजी (इस निर्देश का पालन करें ) को फिर से बनाएं, लेकिन sudo suपहले चरण में ही चलें , फिर आप ठीक रहें।


0

Ssh कुंजी जोड़ना मेरे लिए काम किया। आप मैक पर ssh-keygen कमांड के साथ ssh कुंजी बना सकते हैं। आपको YourRepository पर सेटिंग्स कुंजी मेनू देखने में सक्षम होना चाहिए> सेटिंग्स चेक एक्सेस विकल्प की जांच करना न भूलें।

तैनात कुंजी मेनू स्क्रीनशॉट


0

मेरे द्वारा बहुत सामान्य गलती की गई थी। मैंने क्लिप कमांड का उपयोग करके कॉपी की xclip -sel clip < ~/.ssh/id_rsa.pub, लेकिन जीथब कुंजी इनपुट बॉक्स में चिपकाने के दौरान, मैंने बैकस्पेस का उपयोग करके पिछली नई पंक्ति को हटा दिया, जिसने वास्तव में सार्वजनिक कुंजी को बदल दिया।

इसलिए, ssh सार्वजनिक कुंजी को हमेशा कॉपी और पेस्ट करें क्योंकि यह अंतिम नईलाइन को हटाए बिना है।


0

मेरे लिए मैं ठीक काम करने के बाद कंपनी वीपीएन के साथ समस्या कर रहा था।

कमांड का उपयोग करके गिटब के साथ कनेक्शन की जांच करें ssh -vvvT git@github.com


0

Https के काम पर स्विच करना। Ssh कुंजियों के बजाय पहले https पर जाएँ। git दूरस्थ सेट-url उत्पत्ति

फिर यह git यूजरनेम और पासवर्ड के लिए अनुरोध करेगा।

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