2013-01-15 22 views
50

मैं ruby.railstutorial का पालन कर रहा हूँ। मैं "गिट पुश हेरोकू मास्टर" कमांड चलाता हूं और यह इस त्रुटि को थकाता है।गिट पुश heroku मास्टर अनुमति

Permission denied (publickey). 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights 
and the repository exists. 

मैं अपने रेल ऐप "/ उपयोगकर्ता/lexi87/rails_projects/first_app" के अंदर हूं। कोई समाधान?

+6

आप अपने एसएसएच कुंजी के प्रबंधन के लिए हेरोोकू गाइड देखना चाहते हैं: https://devcenter.heroku.com/articles/keys – derekerdmann

उत्तर

65

ऐसी त्रुटियों से बचने का सबसे अच्छा तरीका एक सार्वजनिक/निजी कुंजी जोड़ी का उपयोग करना है और उसके लिए अतिरिक्त कुंजी नहीं है। इस तरह आप (या आपका सिस्टम) heroku में लॉगिन करने के लिए गलत कुंजी नहीं चुन सकते हैं।

यदि आपको यह त्रुटि मिलती है, तो आपने कुछ गलत किया है। इस साइट को देखें: https://devcenter.heroku.com/articles/keys

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

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

heroku keys:add 
+21

धन्यवाद। मुझे कमांडू कुंजी को चलाने के लिए चलाया गया था: जोड़ें और फिर id_rsa विकल्प का चयन करें। –

+0

विंडोज उपयोगकर्ताओं के लिए, नीचे @ mjulmer का उत्तर तरीका देखें .... – bcm

8

मैं एक ही मुद्दे का सामना करना पड़ा। मेरे .ssh फ़ोल्डर में मेरे पास 'ज्ञात होस्ट' नामक एक फ़ाइल थी। मैं नई एसएसएच कुंजी को हटाने और बनाने की कोशिश करता रहा जो काम नहीं करता था। अंत में मैं सिर्फ 'ज्ञात होस्ट' सहित .ssh में सब कुछ नष्ट कर दिया और उसके बाद का उपयोग कर एक नया RSA कुंजी बनाया: मैं Heroku को यह नया कुंजी जोड़ा

ssh-keygen -t rsa 

तो का उपयोग कर:

heroku keys:add 

तो बनाने एक नया Heroku रेपो और यह करने के लिए मेरे एप्लिकेशन धकेल दिया:

heroku create 
git push heroku master 
0

मैं

ssh-keygen -t rsa 
साथ एक प्रमुख बनाया

और id_rsa (मेरे मामले heroku में) से एक अलग फ़ाइल नाम का उपयोग किया। जैसा कि मैंने Git देखा

$ git push heroku master
The authenticity of host 'heroku.com
(50.19.85.132)' can't be established. RSA key fingerprint is
8b:48:5e:67:0e:c9:16:47:32:99:87:0c:1f:c8:60:bb. Are you sure you want
to continue connecting (yes/no)? yes Warning: Permanently added
'heroku.com,50.19.85.132' (RSA) to the list of known hosts. Permission
denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

केवल एक और SSH- से मेरी id_rsa कुंजी इस्तेमाल किया: मैं कुंजी मेरे मालिक शाखा Heroku को मैं हमेशा निम्न त्रुटि प्राप्त पुश करने के लिए कोशिश कर रहा पर

heroku keys:add 

साथ Heroku को जोड़ा गया एक्सेस (आप इसे अपने गिट gui के माध्यम से देख सकते हैं: सहायता -> एसएसएच कुंजी)।

मैं सी मेरी .ssh निर्देशिका का नाम बदला: \ Users \% उपयोगकर्ता नाम% .ssh करने के लिए .ssh.bak और मेरे Heroku निजी और सार्वजनिक कुंजी (.ssh.bak निर्देशिका से) की नकल की एक नव निर्मित .ssh निर्देशिका के लिए और इसे id_rsa (और id_rsa.pub) नाम दिया गया है।

अब उम्मीद के रूप में काम धक्का:

git push heroku master 
13

स्थापित Github Windows क्लाइंट के साथ विंडोज 7 उपयोगकर्ताओं के लिए कुछ मदद:

हालांकि Heroku टूलबेल्ट रिपोर्ट यह मेरी git_hub सार्वजनिक कुंजी मिल गया और इसे अपलोड, 'Git पुश Heroku मास्टर 'विफल।नीचे दिए गए कदम उठाने के बाद, यह ठीक काम करता है।

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

  2. विंडोज एक्सप्लोरर में, .ssh फ़ोल्डर पर राइट क्लिक करें, और संदर्भ मेनू से गिट बैश चुनें। यह गिथब विंडोज क्लाइंट सॉफ्टवेयर के साथ स्थापित है।

  3. बैश विंडो में अपनी परियोजना में एक cmd शीघ्र से "संकेत दिए जाने पर एक पासफ़्रेज़ दर्ज करें (यह खोना नहीं है) दर्ज करें।

  4. बैश खोल विंडो बंद करें।

  5. जड़, heroku keys:add दर्ज करें। यह मिलेगा और अपलोड तुम सिर्फ Heroku।

करने के लिए अपने /.ssh फ़ाइल से बनाए गए कुंजी

अब आप हेरोोकू तक पहुंचने के लिए git push heroku master दर्ज कर सकते हैं। नोट: किए जाने पर आपको अपने जीथ्यूब खाते में अपनी नई जेनरेट की गई एसएसएच सार्वजनिक कुंजी जोड़नी होगी।

+0

सही @mjulmer। बहुत सारे विकल्पों का प्रयास किया लेकिन अंत में आपके समाधान ने मेरे लिए काम किया। बहुत बहुत धन्यवाद। यह निश्चित रूप से विंडोज 7 उपयोगकर्ताओं के लिए है :) –

+0

मुझे भी लगता है कि आपकी विधि के साथ बड़ा अंतर और मैं जो कोशिश कर रहा था वह '-C ईमेलड्रेस' विशेषता है। मेरा मामला यह आपके यूटोकू के साथ पंजीकृत मेरे ईमेल पते की बजाय विंडोज़ यूज़रनेम विंडोज़/विंडोज़ पीसी के रूप में ले रहा था। फिर से यकीन नहीं है कि यह वास्तव में कारण है :) –

+0

धन्यवाद! मैं गैर-विंडोज – bcm

4
ssh-keygen -t rsa 

ऊपर वैकल्पिक है क्योंकि आप मौजूदा कुंजी से भी लिंक कर सकते हैं। हेरोोकू अगले चरण में कुंजी का चयन करने के लिए संकेत देगा।

heroku keys:add 

अपनी नव निर्मित कुंजी या मौजूदा जोड़ें। आप अभी भी समस्या में चल रहे हैं, तो आप सबसे अधिक संभावना निम्नलिखित प्रदर्शन से ssh चाबियों का अपने मशीन की सूची के लिए महत्वपूर्ण जोड़ने की आवश्यकता होगी:

ssh-add ~/.ssh/name_of_your_rsa 

और पुष्टि करें कि आपके ssh जोड़ दिया गया है

ssh-add -l 

यह आपको हेरोकू के रिमोट रेपो को धक्का देने के लिए उपयोग करना चाहिए।

2
पर OSX

, मैं एक ही समस्या का सामना कर रहा था, मैं

no such identity: /Users/me/.ssh/yourPrivateKey: No such file or directory 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

मैं ssh-keygen आयकर आरएसए तो यह Heroku कुंजी के साथ जोड़ने के साथ एक नई कुंजी बनाने की कोशिश की हो रही थी: जोड़ने के लिए, लेकिन यह मदद नहीं की

तो मैं नाम की एक फ़ाइल पाया config में ~/.ssh /, और फ़ाइल के अंदर नहीं थी:

ServerAliveInterval 300 
ServerAliveCountMax 3 

host heroku.com 
    user git 
    hostname heroku.com 
    identityfile ~/.ssh/yourPrivateKey 

तो मैं द्वारा अपने निजी कुंजी फ़ाइल नाम (id_rsa करने के लिए yourPrivateKey बदल डिफ़ॉल्ट) aaand यह काम किया :)

0

यदि आप विंडोज पर काम कर रहे हैं, तो पावरहेल/कमांड प्रॉम्प्ट के बजाय गीट-बैश का उपयोग करना सुनिश्चित करें।

तुम सिर्फ आपकी SSH कुंजियां रीसेट करना चाहते हैं:

  1. हटाना अपने उपयोगकर्ता का .ssh dir
  2. खुला Git-बैश
  3. ssh-keygen आयकर आरएसए
  4. Heroku कुंजियाँ:
  5. जोड़ने

और फिर आप पुश गिट करने में सक्षम होंगे।

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