ईजीत और गिटहब के साथ "प्रामाणिक असफल" त्रुटि


98

मैंने ग्रहण हेलियोस में ईजीट प्लगइन स्थापित किया है और मैं इसे अपने गिटहब खाते के साथ उपयोग करने की कोशिश कर रहा हूं, लेकिन जब मैं इसे कॉन्फ़िगर करने का प्रयास करता हूं तो मुझे "प्रामाणिक विफल" त्रुटि मिलती है।

मैं इसे गुगली कर रहा था, लेकिन कोई भाग्य नहीं ... यह मेरे पासफ़्रेज़ के साथ एक समस्या लगती है, लेकिन AFAIK EGit सही जगह पर दिख रही है ( /home/user/.ssh/id_rsa) और मुझे क्लाइंट द्वारा sshया gitकंसोल से कनेक्ट करने में कोई समस्या नहीं है ।

कुछ ब्लॉगों का कहना है कि यूआरआई और ईजीट के पार्सर के साथ एक समस्या है, लेकिन मुझे अभी भी कोई समाधान नहीं मिला है।


जवाबों:


140

मेरा उत्तर पुराना हो सकता है लेकिन उम्मीद है कि यह किसी के लिए उपयोगी हो सकता है।

  1. अपने ग्रहण में विंडो> वरीयताएँ> सामान्य> नेटवर्क कनेक्शन> SSH2 पर जाएं (या वरीयताएँ विंडो फ़िल्टर बॉक्स में "SSH2" टाइप करें)।

  2. में "कुंजी प्रबंधन" टैब प्रेस "आरएसए कुंजी ... उत्पन्न करें" बटन। वैकल्पिक रूप से आप टिप्पणी (आमतौर पर ई-मेल पता) और पासफ़्रेज़ को अपनी कुंजी में जोड़ सकते हैं। GitHub पर प्रमाणीकरण के दौरान पासफ़्रेज़ का उपयोग किया जाएगा।

  3. अपनी जनित सार्वजनिक कुंजी ("जनरेट आरएसए कुंजी ..." बटन के ठीक नीचे एक बॉक्स में) कॉपी करें और इसे अपने GitHub खाते में जोड़ें।
  4. प्रेस "निजी कुंजी सहेजें ..." बटन फ़ाइल में अपने निजी RSA कुंजी को बचाने के लिए। डिफ़ॉल्ट कुंजी के द्वारा SSH2 होम डायरेक्टरी ("सामान्य" टैब देखें) में संग्रहित किया जाता है।

बस! अब आपको अपना कोड GitHub रेपो में धकेलने में सक्षम होना चाहिए।


1
मेरी निजी कुंजी में मानक नाम (id_rsa) नहीं था, इसलिए इसे ऐसे नहीं पहचाना जा रहा था। मैंने इसे मैन्युअल रूप से जोड़ा, वरीयताओं में आपके द्वारा बताई गई खिड़कियां, और यह ठीक काम किया।
मुरलीक

18
मैंने देखा कि SSH कुंजी सेट करने के बाद, जैसा कि आप वर्णन करते हैं कि मुझे प्रमाणीकरण बॉक्स में उपयोगकर्ता नाम / पासवर्ड नहीं बदलना चाहिए (मैं अपना गिटहब क्रेडेंशियल्स डाल रहा था)। इस बॉक्स में डिफ़ॉल्ट उपयोगकर्ता नाम है: git और पासवर्ड रिक्त है।
harschware

1
इसने मेरे लिए एक बिटबैकेट गिट रिपॉजिटरी के साथ काम किया, मुझे ग्रहण को फिर से शुरू करना पड़ा।
आर्टलुंग

8
उपयोगकर्ता को git और पासवर्ड को खाली छोड़ने के कारण अंत में मेरे लिए काम किया।
माइक आर

4
यहाँ आपके github खाते में उत्पन्न RSA कुंजी को जोड़ने की प्रक्रिया है 1) अपने github खाते में प्रवेश करें 2) गोटो सेटिंग्स 3) बाईं ओर आपको SSH कुंजियाँ मिलेंगी, इसे 4 पर क्लिक करें) फिर SSH कुंजियाँ जोड़ें (अब SSH कुंजी पेस्ट करें पर क्लिक करें। जो आपने बनाया)
rajeev

27

मुझे वास्तव में एक ही समस्या थी लेकिन मुझे एक बग बग रिपोर्ट से इलाज मिल गया!

GIT_SSH नामक एक पर्यावरण चर को ssh निष्पादन योग्य [1] के लिए एक पथ के साथ सेट किया जाना चाहिए।

उदाहरण के लिए उबंटू लिनक्स (10.10 64 बिट):

> export GIT_SSH=/usr/bin/ssh
> eclipse

उसके बाद GitHub रिपॉजिटरी के काम की तरह उन्हें धक्का देना चाहिए। मैंने एक्लिप्स गैलीलियो और इंडिगो के साथ इसका परीक्षण किया।

समस्या वास्तव में कष्टप्रद है और समाधान अच्छा है। अभी के लिए, समाधान को कम से कम उबंटू उपयोगकर्ताओं के लिए स्थायी बनाते हुए, किसी को env चर को स्थायी बनाना चाहिए। यह निर्यात कमांड को ~ / .profile या ~ / .bashrc [2] में जोड़कर किया जा सकता है। उदाहरण के लिए:

> cd ~
> echo "export GIT_SSH=/usr/bin/ssh" >> .profile

और फिर प्रभावी होने के लिए ग्रहण को फिर से शुरू करें।

सूत्रों का कहना है:


मैं पूरे हफ्ते इस समस्या पर रहा हूं - ऑक्स के तहत एक्थस को गीथहब या असेम्ब्ला से जोड़ना। आपका फिक्स मेरे लिए काम करता है। धन्यवाद।
ianmayo 10

विंडोज पर, ओपनशेड ने मेरे लिए काम नहीं किया। मुझे पलक का इस्तेमाल करना था। मेरा जवाब देखिए।
पियोट्र डोब्रोगॉस्ट

और यह एक रिलीज़ फिक्स के करीब हो रहा है। बग रिपोर्ट के अंत में किसी ने दिखाया कि नवीनतम jsch जार फ़ाइल को मैन्युअल रूप से कैसे डाउनलोड किया जाए और इसे इस तरह से काम करने के लिए मैन्युअल रूप से इंस्टॉल करें। मैं बस इस env var सॉल्यूशन के साथ जा रहा हूं और वास्तव में ग्रहण से मुक्त होने के लिए उस jsch jar फाइल का इंतजार करता हूं।
क्राउगनैम्बुम्ब

मेरी समस्या का समाधान किया। धन्यवाद।
पेड्रम

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

16

मैंने इसे httpप्रोटोकॉल के रूप में चुनकर अपना GitHub उपयोगकर्ता नाम और पासवर्ड देकर हल किया ।


हाँ! मैंने जो कुछ पढ़ा है उसके विपरीत, लेकिन वह काम किया। (ग्रहण इंडिगो)
ओवेन बी

http या https रास्ता ssh की तुलना में सरल है
Junchen लियू

हां, लेकिन ऐसे मामले हैं जहां आपको ssh का उपयोग करने की आवश्यकता है। जैसे कि रिपॉजिटरी के साथ काम करते समय बिटबकेट में दो फैक्टर ऑथेंटिकेशन की जरूरत होती है। आप केवल ssh पर काम कर सकते हैं जब आपको दो कारक प्रमाणीकरण की आवश्यकता होती है।
अक्षय

10

इस समस्या के समाधान की तलाश में घंटों बिताने के बाद, मैंने आखिरकार एक ग्रहण फोरम पर उल्लिखित बदलाव करके सोने पर चोट की ।

कदम:

आवश्यकताएँ: mysysgit डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ स्थापित किया गया है।

1. फ़ाइल C: /User/Username/.ssh/config (अपने "उपयोगकर्ता नाम" को अपने विंडोज 7 उपयोगकर्ता नाम के साथ बदलें। (जैसे C: /Users/John/.ssh/config)

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

2. ग्रहण में अब दूरस्थ भंडार स्थापित करना।

चीयर्स। यह पूरी तरह से काम करना चाहिए।


8

आपको msysgit स्थापित करने की आवश्यकता है, स्थापित करने के बाद आपको Git Bash को खोलने और वहां ये कमांड दर्ज करने की आवश्यकता है:

$ git config --global user.name "Gennadiy Zlobin" (your name)
$ git config --global user.email gennad.zlobin@gmail.com (your email)
$ ssh-keygen -C "gennad.zlobin@gmail.com" -t rsa (your email)

अब आपकी जेनरेट की हुई चाबियां C:\Users\username\.ssh(विंडोज 7 में) हैं।
इसके बाद आप अपनी सार्वजनिक कुंजी की सामग्री को Github
में ग्रहण पर अपनी परियोजना में लोड करते हैं Window->Preferences->General->Network->SSH2और अपने SSH होम के~/.ssh रूप में सेट करते हैं

इसके बाद मौजूदा कीKey Management tab और लोड करें पर जाएं - यहां अपनी निजी कुंजी सेट करें ~/.ssh

उसके बाद आप अपने प्रोजेक्ट को गितुब (लेकिन मैं ssh प्रोटोकॉल सेट कर सकता हूं, git + ssh नहीं) पुश कर सकता हूं।


बहुत बहुत धन्यवाद, लेकिन वास्तव में मैं इसे आर्क लिनक्स के तहत चला रहा हूं
तहसीस

5

मैंने ssh में अपनी कुंजी जोड़ने के साथ एक ही समस्या को हल किया;

ssh-add ~/.ssh/id_rsa 

फिर पासफ़्रेज़ में प्रवेश किया और पुनः आरंभ करने की आवश्यकता है।


4

एसएसएच का उपयोग करने वाले * निक्स उपयोगकर्ताओं के लिए:

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


1
किसी भी विचार यह अभी भी मामला है? मैं इस शाम के लिए दीवार पर अपना सिर पीट रहा हूं। मेरी निजी कुंजी पासफ़्रेज़ से सुरक्षित है, जिसे ग्रहण / ईजीट कभी नहीं मांगता है। जब मैं दूरदराज के पुश करने के लिए प्रयास करते हैं, ग्रहण सिर्फ एक त्रुटि बाहर निसृत "org.eclipse.jgit.transport.CredentialItem $ StringType पदबंध .ssh id_rsa के लिए"
Vilsepi

3

नीचे दिए गए लिंक पर मैंने पोस्ट किया कि मेरे लिए क्या काम किया ...

http://www.eclipse.org/forums/index.php?t=msg&goto=648905&S=9bcfa96ab726d744d41a19c7fb02d723#msg_648905


मेरे मामले में, परिवर्तन किए जाने के बाद ग्रहण को फिर से शुरू करना आवश्यक था!
मार्टिन पेका

2

मेरे चारपेंथ: मेरी SSH कुंजियाँ Cygwin में C: \ cygwin \ home <<>> पर सेट की गई थीं, इसलिए मैंने SSH को डिफ़ॉल्ट (Win7) C: \ Users's <user> \ ssh के बजाय इस फ़ोल्डर में इंगित किया। , इन निर्देशों के अनुसार: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

और ssh प्रोटोकॉल का उपयोग किया, और यह ठीक काम करता है। Git प्रोटोकॉल का उपयोग करने की कोशिश अभी भी "उपयोगकर्ता git प्रोटोकॉल पर समर्थित नहीं है", हालांकि।


2

आपके लिए, जिन्होंने मुझे पसंद किया, पहले से ही आपने ssh-keys सेटअप किया था, लेकिन फिर भी त्रुटियां मिलती हैं:

सुनिश्चित करें कि आपने एक पुश रिमोट सेटअप किया था । मेरे लिए यह तब काम आया जब मैंने दोनों को रिमोट रिपॉजिटरी रेफ्स -प्रॉम्बेल्स ("... पासफ़्रेज़ फॉर ..." और "प्रामाणिक असफल" "पुश ..." संवाद) में मिला।

बशर्ते कि आप पहले से ही:

  1. Github (विंडो> वरीयताएँ> सामान्य> नेटवर्क कनेक्शन> SSH2) के साथ अपनी SSH कुंजी सेट करें

  2. अपनी स्थानीय रिपॉजिटरी सेट करें (आप उसके लिए इस गाइड का अनुसरण कर सकते हैं )

  3. गितुब भंडार ( एक ही गाइड ) बनाया

... यहाँ है कि आप इसे कैसे करते हैं:

  • पर जाएं Git संग्रह दृश्य (विंडो> दिखाएं देखें> अन्य> Git संग्रह)
  • अपने रिपॉजिटरी का विस्तार करें और राइट-क्लिक करें उपाय -> "रिमोट बनाएं"
  • "रिमोट नाम": उत्पत्ति, "पुश कॉन्फ़िगर करें": चेक किया गया -> "ओके" पर क्लिक करें
  • क्लिक करें "परिवर्तन ..." बटन
  • अपना git URI पेस्ट करें और प्रोटोकॉल ssh चुनें -> "समाप्त करें" पर क्लिक करें
  • अब, "सहेजें और पुश" पर क्लिक करें और अब आपको एक पासवर्ड प्रॉम्प्ट मिलना चाहिए -> यहां सार्वजनिक कुंजी पासफ़्रेज़ दर्ज करें (बशर्ते कि आप अपनी सार्वजनिक कुंजी पर पासफ़्रेज़ सेट करें) -> "ओके" पर क्लिक करें
  • अब आपको एक पुष्टिकरण विंडो मिलनी चाहिए जिसमें कहा गया है कि " YourRepository - Origin " पर क्लिक करें -> "ओके" पर क्लिक करें
  • अपस्ट्रीम पर पुश करें , लेकिन इस बारअपने गंतव्य गिट रिपॉजिटरी के रूप में "कॉन्फ़िगर रिमोट रिपॉजिटरी" का उपयोग करें
  • जाओ अपने आप को एक अच्छी तरह से अर्जित कप कॉफी प्राप्त करें!

1

मैंने रात के निर्माण के साथ प्लगइन को अद्यतन किया: http://www.eclipse.org/egit/download/

एक अद्यतन के साथ, इसने मेरे लिए काम किया। (ग्रहण हेलियोस, मैक ओएस एक्स)


यह अभी भी मेरे लिए काम नहीं कर रहा है :( इसे पोस्ट करने के बाद से इसे दो बार अपग्रेड किया गया है। हो सकता है कि यह GNU / Linux के तहत एक बग हो
तहसीस

1

क्या आपने git + ssh के बजाय ssh प्रोटोकॉल का उपयोग करने की कोशिश की है? मुझे एक ही समस्या है, और यह हल हो गया, भले ही आधिकारिक दस्तावेज git + ssh का उपयोग करने के लिए कहता है


1

Windows पर, GIT_SSHmsys git के साथ आने वाले खुलने की सेटिंग ने काम नहीं किया (ग्रहण प्रतिबद्ध होने के दौरान लटका दिया गया)। इसे TortoisePlink पर सेट करने से समस्या हल हो गई (मुझे लगता है कि मूल पलक भी काम करेगी)। जोड़ा गया बोनस अब एक्लिप्स पेजेंट में संग्रहीत कुंजियों का उपयोग करता है।


1

मैंने इसे प्रोटोकॉल के रूप में https का चयन करके और फिर अपने github उपयोगकर्ता नाम और पासवर्ड को जोड़कर हल किया


1

आपके GIT दृश्य में जहां आपके पास अपनी रिपॉजिटरी है, वहां आपको एक संरचना दिखाई देगी जैसे:

  • शाखाओं
  • टैग
  • संदर्भ
  • रिमोट
  • आदि...

रीमोट पर क्लिक करें, वहां रिपॉजिटरी के यूआरएल पर राइट-क्लिक करें और 'चेंज क्रेडेंशियल्स' चुनें।



0

मैं एक ही मुद्दा रहा था जो ऐसा लगता है कि इस मुद्दे को कॉन्फ़िगर करने के लिए नीचे था। Github mac osx ऐप ने एक ssh निजी कुंजी बनाई थी जिसे github_rsa कहा जाता है

आपके ग्रहण में Window > Preferences > Network Connections > SSH2

सामान्य टैब में आपको SSH2 घर देखना चाहिए /Users/<you username>/.sshजिसे आप शायद id_dsa, id_rsa को निजी कुंजी के रूप में परिभाषित देखेंगे।

'निजी कुंजी जोड़ें' पर क्लिक करें और स्थित github_rsa चुनें /Users/<you username>/.ssh


0

यदि आपको पीईएम फाइल है : ग्रहण में विंडो> वरीयताएँ> नेटवर्क कनेक्शन> एसएसएच 2 पर जाएं , और फिर अपनी पीईएम फ़ाइल में "निजी कुंजी" के लिए पथ जोड़ें और जिससे समस्या का समाधान होना चाहिए।


0

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

मेरे पास मोबाइल विकास उपयोग के लिए एक मैक है और बहुत बार इस समस्याओं को पूरा करता है। इस समस्याओं का स्रोत "प्लेटफ़ॉर्म स्वतंत्र" समाधान है, जो मैक के लिए पर्याप्त देखभाल नहीं करता है और उनके पास किचेन तक पहुंच नहीं है, जहां प्रमाणपत्र संग्रहीत किए जाते हैं, .pem फ़ाइलें और इसी तरह।

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

आधा हिस्सा एक्लिप्स गिट प्लगइन के साथ किया गया था, दूसरा भाग (जीथब को धक्का) मैक गिथब के साथ किया गया था

अच्छा और आसान :)

सभी को उस मूल ऐप्प के साथ किया जा सकता है यदि मैं इसे सीखना शुरू कर दूंगा, तो मुझे उससे केवल पुश कार्यक्षमता की आवश्यकता है।

यह उम्मीद है कि एक बार एक मैक उपयोगकर्ता में मदद मिलेगी।


0

मुझे पता चला कि अगर मैं गिटहब में दो-चरणीय प्रमाणीकरण सेट करता हूं, तो ग्रहण गिथब से कनेक्ट करने में सक्षम नहीं है - जो समझ में आता है क्योंकि जीथब में दो-चरणीय प्रमाणीकरण के लिए आपको एक एसएमएस (और एक्लिप्स) से एक नंबर इनपुट करना होगा t यह जानकारी है)।

यदि यह आपका परिदृश्य है, तो आप जीथब में अपने दो-चरणीय प्रमाणीकरण को डी-एक्टिवेट करने पर विचार कर सकते हैं, और देखें कि क्या यह मदद करता है।


0

मौजूदा ssh कुंजियों के लिए, मुझे लगता है कि यह ग्रहण जूनो 3.8 में एक बग है।

मैंने क्या किया:

1) मौजूदा कुंजी को लोड करें: विंडो> वरीयताएँ> "खोज ssh"> मुख्य प्रबंधन टैब> लोड मौजूदा कुंजी> उस निजी कुंजी का चयन करें जो आपके पास पहले से है

2) निजी कुंजी को सहेजें बटन पर क्लिक करके उस कुंजी को सहेजें । आइए इसे नाम दें id_dsa_github

3) अब जांचें कि क्या पुश और पुल काम कर रहे हैं या नहीं। यह होना चाहिए।

4) अब सामान्य टैब में, निजी कुंजी id_dsa_github को निकालें और बटन को क्लिक करके अपनी पिछली निजी कुंजी जोड़ें

अब आप जाने के लिए अच्छे हैं। मुझे लगता है कि ईजीत से लेकर रजिस्टर तक सभी चीजें करने में कम से कम एक समय लग रहा है।


0

मैं उसी मुद्दे पर चलता हूं।

मैंने सोचा कि यह मेरी साख और प्रमाणीकरण के साथ कुछ करना है।

तब अंत में मुझे एहसास हुआ कि यह यूआरआई है जिसे मैंने कॉन्फ़िगर किया है यह एचटीटीपी संस्करण नहीं है।

मैं अपने जीआईटी के एसएसएच यूआरआई को HTTP कॉन्फ़िगरेशन के साथ पुश करने की कोशिश कर रहा था।

अपने URL की जाँच करें

Git Perspective> Remotes> Origin> Configure Fetch> Change> सुनिश्चित करें कि प्रेटोकल HTTPS है और URL https वर्जन है


0

मैं रिपॉजिटरी को पुश / पुल करने के लिए कंसोल का उपयोग कर सकता था, लेकिन ग्रहण में नहीं। मेरे मामले में, लगता है कि ग्रहण मेरी SSH निजी कुंजी को नहीं पढ़ सकता है, मेरी कुंजी इस प्रकार है:

-----BEGIN OPENSSH PRIVATE KEY-----

और मैंने देखा कि मेरे सहयोगी की कुंजी के साथ शुरू हुआ:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

मुझे लगता है कि वर्तमान में ग्रहण इस नए प्रकार की कुंजी (OPENSSH निजी कुंजी) नहीं ले सकता।

मैंने इसे हल किया: कमांड का उपयोग करके अपनी ssh कुंजी को फिर से बनाएँ:

ssh-keygen -m PEM -t rsa -b 2048

यह कुंजी बनाने के लिए पुराने तरीके का उपयोग करेगा: इसलिए यह हेडर से शुरू होगा:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

अधिक जानकारी देखें:

https://github.com/duplicati/duplicati/issues/3360

तब आप वरीयताएँ -> नेटवर्क कनेक्शन -> SSH2 का उपयोग करके फिर से eclilpse में कुंजी लोड कर सकते हैं, "निजी कुंजी जोड़ें" पर क्लिक करें (अभी भी अपनी निजी कुंजी का चयन करें, यहां तक ​​कि आप पहले से ही निजी कुंजी की सूची में नाम देखते हैं, क्योंकि ग्रहण है इसे फिर से लोड करो)

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