2010-03-30 15 views
8

प्राधिकृत जेएसबीबी में जेनरेट एसएस-कुंजी के साथ लॉगिन नहीं कर सकता। मैं इस मैनुअल का पालन किया है: http://help.github.com/linux-key-setup लेकिन कदम पर:गिट और एसएसएच

ssh [email protected]

मैं:

एजेंट कुंजी का उपयोग कर हस्ताक्षर करने के लिए विफलता भर्ती कराया। अनुमति (publickey) से इनकार कर दिया।

क्या परेशान है? और, ज़ाहिर है, मैं अपना खुद का यूजर ईमेल जोड़ रहा हूं।


एक ही चीज़ डीएसए-कुंजी की कोशिश की।

उत्तर

4
troubleshooting guide से

:

अनुमति अस्वीकृत (publickey)

यह आमतौर पर तब होता है जब ssh अपनी चाबी नहीं पा सकते हैं। सुनिश्चित करें कि आपकी कुंजी डिफ़ॉल्ट स्थान पर है, ~/.ssh। यदि आप फिर से ssh-keygen चलाते हैं और केवल सभी 3 संकेतों पर एंटर दबाएं तो यह स्वचालित रूप से यहां रखा जाएगा। फिर आप id_rsa.pub की सामग्री को मेरी जिथब कुंजी जोड़ सकते हैं। यदि id_rsa.pub कार्य id_dsa.pub का प्रयास नहीं करता है। आपको एसएसएच-कीजेन -t डीएसए के साथ एक नई डीएसए कुंजी उत्पन्न करने की आवश्यकता हो सकती है यदि आपके पास सिर्फ आरएसए कुंजी है।

आप अभी भी समस्या और उससे अधिक काम की कोई भी हो रही है, आप एक डेबियन खुले ssh बग से किसी ब्लैक लिस्ट कुंजी हो सकता है। आपको ओपन-एसएसएच अपडेट करना चाहिए और अपनी चाबियाँ फिर से उत्पन्न करना चाहिए।

तो, बस जांचने के लिए - क्या आपकी कुंजी ~/.ssh/id_rsa और id_rsa.pub के रूप में उपलब्ध हैं या अन्यथा, क्या आप उनका उपयोग निर्दिष्ट कर रहे हैं?

+0

मैंने पाया करके कर सकते हैं कि यहाँ पोस्ट करने से पहले। बेशक मेरी चाबियाँ ~/.shsh में हैं। – Ockonal

+1

उत्कृष्ट, तो, उस डीआईआर सेट पर परमिट 0600 पर हैं? बस उन चीज़ों के माध्यम से चलना जो गलत हो सकते हैं क्योंकि ऐसा लगता है कि एसएसएच-एजेंट या एसएसएच आपकी चाबियाँ नहीं उठा रहा है। –

0

ध्यान दें कि ssh-agent प्रति सत्र (प्रति टर्मिनल) है। किसी भी सत्र (किसी भी अवधि से) तक पहुंच प्राप्त करने के लिए keychain जैसे एसएसएच एजेंट मैनेजर का उपयोग करें (इसे सेट अप करने के तरीके पर इसके दस्तावेज़ देखें)।

5

यह एक उबंटू समस्या है। "SSH_AUTH_SOCK = 0" निर्यात करने से मेरे लिए समस्या हल हो गई। अधिक जानकारी - https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/201786 पर मिल सकती है।

+1

धन्यवाद! मैं एसएसएच कुंजी उत्पन्न करने के तरीके पर इतनी सारी अलग-अलग युक्तियों का पालन करता था लेकिन यह यह सरल निर्यात था जो इसे उबंटू पर तय करता था। – pmont

44

मैं इस जो मुझे बहुत मदद http://playwithrubyandrails.blogspot.com/2011/04/process-for-deploying-app-on-heroku.html

ssh-add ~/.ssh/id_rsa प्रासंगिक कुंजी

+0

यह सही उत्तर है – Orlando

+0

पूरी तरह से मेरे लिए काम किया। – GrooveStomp

+0

यही वह है जो मैं याद कर रहा था, धन्यवाद। – RevNoah

12

काम किया जेनरेट करने के बाद ssh कुंजी मैंने jamesw द्वारा सुझाए गए नीचे सूचीबद्ध कमांड को निष्पादित किया।

$ ssh-add ~/.ssh/id_rsa 

मैंने अपना पासवर्ड दर्ज किया। फिर heroku भंडार क्लोन करने के लिए पुनः प्रयास किया। इस बार यह ठीक काम किया।

2

मैं इस थ्रेड के लिए धन्यवाद gitlab प्राप्त करने में सक्षम था (मुझे पता है कि यह github नहीं है)।

मुझे भी @jamesw द्वारा सही होने का उत्तर मिला।

मैं अपने known_hosts फ़ाइल को हटाने और मेरे gitlab खाते के समान पासवर्ड के साथ अपनी एसएस कुंजी को फिर से बनाने के लिए समाप्त हो गया।

फिर मैंने ssh-add किया और git push -u origin master किया। सफलता!

सभी की मदद के लिए धन्यवाद।

अद्यतन:
मैं एक पासवर्ड के बिना मेरे ssh कुंजी का रीमेक बनाने का फैसला किया है और इस त्रुटि में फिर से भाग गया।

इस बार, मैं अपने पुराने known_hosts को नए .ssh/ पर कॉपी करने में सक्षम था और बस ssh-add चलाता हूं।

1

यह समस्या मुख्य रूप से निम्नलिखित कारणों की वजह से होती है:

  • सार्वजनिक और निजी कुंजी युग्म गलत है। आपको सर्वर/आपके गिट खाते पर कुंजी सार्वजनिक कुंजी को सत्यापित करना होगा जहां आपने सार्वजनिक कुंजी रखी है। यहां तक ​​कि एक छोटी सी जगह या टैब के परिणामस्वरूप त्रुटि होगी।
  • यदि आप सुनिश्चित हैं कि आपकी सार्वजनिक कुंजी सही है, तो अपनी मशीन में अपने ~/.ssh फ़ोल्डर में सार्वजनिक कुंजी के प्रारूप की जांच करें। Openssh के लिए आप Puttygen प्रारूप और वीजा-विपरीत में एक सार्वजनिक कुंजी का उपयोग नहीं कर सकते हैं। प्रारूप आप उपयोग कर निम्न आदेश का उपयोग कर सकते हैं बदलने के लिए अपनी निजी कुंजी

    $ ssh-keygen -e -f ~/.ssh/id_rsa> ~/.ssh/id_rsa_com.pub
    $ ssh-keygen मैं - f ~/.ssh/id_rsa_com.pub> ~/.ssh/id_rsa.pub

  • अंत में जांचें कि आपने अपने सिस्टम में एसएसएच क्लाइंट में अपनी चाबियां जोड़ दी हैं या नहीं। आप निम्न कमांड

    $ eval का उपयोग कर "$ (ssh-एजेंट -s)"

    $ ssh-जोड़ने

संबंधित मुद्दे