2013-02-22 76 views
31

में Heroku के लिए सार्वजनिक कुंजी उत्पन्न नहीं कर सके जबकि मैं अपने मशीन में cmd ​​के माध्यम से heroku login कोशिश कर रहा हूँ, यह कहते हैंविंडोज 7

नहीं मिल सका मौजूदा सार्वजनिक कुंजी
आप एक उत्पन्न करने के लिए करना चाहते हैं? [YN]

उसके बाद जब मैं 'y' दबाएँ और दर्ज यह कहता है

नया ssh जनरेट कर रहा है सार्वजनिक कुंजी
कुंजी उत्पन्न नहीं कर सका: "ssh-keygen" एक आंतरिक रूप में मान्यता प्राप्त नहीं है या बाहरी कमांड ऑपरेट करने योग्य प्रोग्राम या बैच फ़ाइल

कृपया मेरी मदद करें।

+1

यह पिछले जवाब देखें: http://stackoverflow.com/a/11771907/538746 –

+0

@ user2098336 यह चयन करने के लिए बहुत महत्वपूर्ण होगा समाधान जो आपकी परेशानियों को हल करता है ताकि भविष्य में एक ही मुद्दे का सामना करने वाले अन्य प्रोग्रामर की मदद कर सकें! –

उत्तर

34

हेरोोक टूलबल्ट में गिट वितरण शामिल है जिसमें आवश्यक ssh-keygen.exe शामिल है। मैंने इसे सी: \ प्रोग्राम फ़ाइलें \ git \ bin में पाया है। अपने गिट फ़ोल्डर को ढूंढें और इसे यहां वर्णित अनुसार अपने सिस्टम पथ में जोड़ें: superuser.com/questions/284342/

+4

किसी अन्य उत्तर पर एक टिप्पणी के मुताबिक, और चूंकि यह सबसे अधिक उत्साहित है (जैसा कि यह सही है), मैं ध्यान दूंगा: यदि आप ** गिट बैश ** सीएलआई का उपयोग करते हैं तो उसे 'heroku auth: login' का उपयोग करके heroku में लॉग इन करने के लिए , आप एक एसएसएच कुंजी उत्पन्न करने में सक्षम हो जाएगा। यदि आप एक ही कमांड वाले विंडोज़ पर सामान्य 'cmd' खोल का उपयोग करते हैं, तो आपको अपने पीएटीएच में अपनी गिट निर्देशिका शामिल करने की आवश्यकता होगी; इस व्यवहार का कारण यह है कि, अभी तक [एक और टिप्पणी] के अनुसार (http://stackoverflow.com/questions/11771378/ssh-keygen-is-not-recognized-as-an-internal-or-external-command/ 11771907 # टिप्पणी 23206229_11771907), गिट बैश इसे चलाने पर पाथ सेट करता है। –

+0

@ChrisCirefice आपको धन्यवाद! Win12 पर मेरे मामले में –

+0

यह सी: \ प्रोग्राम फ़ाइलें \ Git \ usr \ bin में स्थित है! – CodeToLife

16

मुझे एक ही समस्या थी और इसे हल किया गया। मैंने गिट बैश नामक एक और सीएमडी स्थापित किया है जिसे आप मुफ्त में डाउनलोड कर सकते हैं (http://git-scm.com/downloads) और फिर उसमें कमांड दोहराया और यह काम किया!

+3

मुझे यकीन है कि पोस्ट के समय नहीं होने पर, उसकेोकू टूलबल्ट में अब गिट बैश शामिल है। लेकिन, हाँ, मैंने वही गलती की, सीएमडी के लिए सीधे आदत के रूप में जाना - एक ही त्रुटि। चूंकि मेरे पास पहले से ही गिट बैश था, उसने कोशिश की, और यह आकर्षक ढंग से काम किया! धन्यवाद। – Todd

+7

गिट बैश का उपयोग करके यह मेरे लिए भी हल हो गया – Ducain

1

Win7 64-बिट उपयोगकर्ताओं के लिए, फ़ाइल %HerokuPath%s\bin\ssh-keygen.bat लगता है:

@SETLOCAL 
@SET HOME=%USERPROFILE% 
@"%HerokuPath%\..\Git\bin\ssh-keygen.exe" %* 

लेकिन Heroku Program Files (x86) में Git स्थापित करता है, इसलिए यदि आप के लिए .bat फ़ाइल का अद्यतन:

@SETLOCAL 
@SET HOME=%USERPROFILE% 
@"C:\Program Files (x86)\Git\bin\ssh-keygen.exe" %* 

तो फिर तुम चाहिए अपनी एसएसएच कुंजी उत्पन्न करने में सक्षम हो।

0

विंडोज

मैं Git स्थापित किया था 10-64bit, तो Heroku टूलबेल्ट (जो मैं पुनर्स्थापित लगता Git)

मैं अपने पर्यावरण चर (शायद उत्पन्न जब मैं Heroku टूलबेल्ट स्थापित) में C\Program Files (x86)\Heroku\bin था और अगर मैं उस फ़ाइलपैथ में देखा गया था मेरे पास एक ssh-keygen.bat था - तो ऐसा लगता है कि मुझे कमांड लाइन से केवल ssh-keygen -t rsa चलाने में सक्षम होना चाहिए।

कि बहुत आसान होती है, बजाय मैं:

C:\Program Files (x86)\Git\bin>ssh-keygen -t rsa -f id_rsa 
'"C:\Program Files (x86)\Heroku\..\Git\bin\ssh-keygen.exe"' is not recognized as an internal or external command, 
operable program or batch file. 

समाधान

प्रकार bashकमांड लाइन में Git पार्टी मोड में जाने के लिए तो ssh-keygen -t rsa

Git चलाने bash:

[email protected] MINGW32 /bin 
$ ssh-keygen -t rsa 
Generating public/private rsa key pair. 
Enter file in which to save the key (/c/Users/mamwo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /c/Users/mamwo/.ssh/id_rsa. 
Your public key has been saved in /c/Users/mamwo/.ssh/id_rsa.pub. 
The key fingerprint is: 
SHA256:MMMYYYPPPUUUBBBLLIIICCKKEEEEYYYY [email protected] 
The key's randomart image is: 

अब जब मैं सी/उपयोगकर्ता/मामो/एसएसएच में देखता हूं (मेरे लिए सबसे अच्छा तरीका पिचारम फ़ोल्डर के माध्यम से है - विंडोज बेकार है) मैं अपना id_rsa और id_rsa देखता हूं।पब

लेकिन यह 'मेरे लिए प्रकाशन शुरू नहीं कर सकता है' सब कुछ मेरे लिए शुरू हुआ क्योंकि मेरे पास 'मेरे पास जोड़ने के लिए सार्वजनिक कुंजी नहीं है' जब मैंने अपने रेपो (गीथूब से) को एक नए कंप्यूटर पर क्लोन किया और पाया कि मैं github को धक्का दे सकता है लेकिन heroku नहीं।

अब मैं कुंजी है - मैं उन्हें जोड़ने के लिए

C:\Users\mamwo\Desktop\mv>git push heroku master 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

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

C:\Users\mamwo\Desktop\mv>heroku keys 
You have no keys. 

C:\Users\mamwo\Desktop\mv>heroku keys:add 
Found an SSH public key at C:/Users/mamwo/.ssh/id_rsa.pub 
Would you like to upload it to Heroku? [Yn]