git - Heroku कोड तैनात करते समय अनुमति अस्वीकार(publickey)। घातक: रिमोट एंड अप्रत्याशित रूप से लटका हुआ है




deployment public-key (20)

मैं निम्नलिखित कोड के साथ अपने कोड को उसकेोकू में तैनात करने का प्रयास कर रहा हूं:

git push heroku master

लेकिन निम्न त्रुटि प्राप्त करें:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

मैंने पहले से ही अपनी सार्वजनिक एसएसएच कुंजी अपलोड कर दी है, लेकिन यह अभी भी इस त्रुटि के साथ आता है।


Dmajkic का समाधान मुझे अंत में मदद करते हैं:

विंडोज उपयोगकर्ताओं के लिए इसका अर्थ हो सकता है: गिट क्लाइंट को आपकी चाबियां नहीं मिलती हैं। सी: \ उपयोगकर्ता \ UserName.ssh \ और में कुंजी जांचें! पर्यावरण परिवर्तनीय HOME = c: \ उपयोगकर्ता \ उपयोगकर्ता नाम \


Heroku के लिए अपनी .ssh कॉन्फ़िगरेशन की जांच करें। .ssh फ़ोल्डर पर जाएं और कॉन्फ़िगरेशन फ़ाइल खोलें

cd ~/.ssh
subl config

'सब्बल' सब्लिमे टेक्स्ट के लिए है, लेकिन आप जो भी संपादक चाहते हैं उसका उपयोग कर सकते हैं। "IdentityFile" रेखा की तलाश करें और सुनिश्चित करें कि इसमें गैर सार्वजनिक कुंजी सूचीबद्ध है:

IdentityFile "/Users/ircmullaney/.ssh/my_ssh"

नहीं

IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"

वो मेरे लिए किया गया। मुझे यकीन नहीं है कि कॉन्फ़िगरेशन फ़ाइल में मेरा सार्वजनिक संस्करण क्यों था, लेकिन ऐसा हुआ और यह त्रुटि फेंक रहा था:

Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.

इन सभी विचारों को आजमाने के बाद भी मुझे समस्याएं थीं। यह मेरी समस्या थी:

मेरा रिमोट हेरोकू रिपोजिटरी फंसे हुए थे। मैंने इसे निम्नानुसार ताज़ा किया:

git remote -v

फिर उस गलत तरीके से उसे हटा दें:

git remote rm heroku

फिर नया जोड़ें

git remote add heroku [email protected]:sitename.git

आप अपने ऐप के लिए अपने हेरोकू सेटिंग पेज से साइटनाम प्राप्त कर सकते हैं। शुभ लाभ!


उन सभी लोगों के लिए जिन्होंने विंडोज 7 पर ऊपर वर्णित सब कुछ करने की कोशिश की और अभी भी यह काम नहीं किया है, यहां मैंने जो किया है: - गिट निर्देशिका C: \ Program Files (x86) \ Git \ (don 'से GitBash.exe खोलें कमांड प्रॉम्प्ट खोलें, यह काम नहीं करेगा)। - above वर्णित निम्न जोड़ें, लेकिन आपको #

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User [email protected]

अब गिट पुश हेरोकू मास्टर चलाएं और इसे काम करना चाहिए।


एक एकल कमांड काम करता है:

heroku keys:add

यदि यह अस्तित्व में नहीं है तो यह एक बना देगा।


ऐसा लगता है कि आपकी ~/.ssh/authorized_keys फ़ाइल सही तरीके से सेट नहीं है। सत्यापित करो कि:

  • यह सही रास्ते में है।
  • फ़ाइल की अनुमतियां 0600 हैं।
  • ~/.ssh की अनुमतियां 0700 हैं।

डिस्क उपयोगिता (मैक ओएस एक्स) में अनुमतियों की मरम्मत का प्रयास करें। मेरी मदद की


धक्का मेरे लिए काम कर रहा था और फिर अचानक बंद कर दिया।

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

चेक:

https://status.heroku.com/

बहुत मुश्किल से बाहर निकलने से पहले।


मुझे एक ही समस्या थी क्योंकि मेरे पास कोई सार्वजनिक कुंजी नहीं थी, इसलिए मैंने किया:

heroku keys:clear
heroku keys:add

इससे सार्वजनिक कुंजी उत्पन्न होगी और फिर यह अच्छी तरह से काम करेगी


मुझे करना था:

$ ssh-keygen -t rsa  
$ heroku keys:add  

फिर यह काम किया:

$ git push heroku master  

मेरा अनुभव साझा करने के लिए:

गिट (मेरा अपना इंस्टॉल) 'id_rsa' नाम की कुंजी की तलाश में था।

तो मैंने अपनी चाबियों को 'id_rsa' और 'id_rsa.pub' में बदलने का प्रयास किया और यह काम किया।

बीटीडब्ल्यू, मुझे यकीन है कि ऐसा करने का दूसरा तरीका है लेकिन मैं अभी तक गहराई से नहीं देख रहा था।


मेरे पास एक ही समस्या थी, नीचे दिए गए कदम मेरे लिए काम करते थे,

->heroku login

[email protected] और पासवर्ड

->cd C:\Users\yourusername\.ssh    (OR for cygwin shell ->cd ~/.ssh)

->ssh-keygen -t rsa -f id_rsa

अगर कोई पासफ्रेज रिक्त उपयोग नहीं करता है, तो पासफ्रेज से भरें, लेकिन इसे न भूलें।

कुंजी उत्पन्न करने के बाद आपको इसे जोड़ने की जरूरत है

$ ssh-add

और यह Heroku करने के लिए

->heroku keys:add "id_rsa.pub"

वर्कस्पेस में निर्देशिका को बदलें

->git clone [email protected]:stark-dawn-1234.git -o heroku

आपके द्वारा सेट किए गए पासफ्रेज़ का उपयोग करें।

दरअसल मैं नीचे फ़ाइलों को भी हटा देता हूं, लेकिन यह सुनिश्चित नहीं करता कि वे आईपी हैं,

सी: \ उपयोगकर्ता \ yourusername.heroku \ credientals और सी: \ उपयोगकर्ता \ yourusername.ssh \ known_hosts


मैं एक ही समस्या का सामना कर रहा था; इन चरणों का पालन करने में मदद करनी चाहिए:

  1. सबसे पहले, लॉग इन करें: heroku लॉगिन
  2. सभी चाबियाँ साफ़ करें: heroku कुंजी: साफ़ करें
  3. know_host .ssh/ folder में स्थानीय फ़ोल्डर (सभी .pub फ़ाइलें और know_host ) में सभी फ़ाइलों को हटाएं
  4. फिर से लॉग इन करें: heroku लॉगिन - आप बिना किसी कुंजी के संकेत देंगे, इसलिए ऑनस्क्रीन निर्देशों का पालन करें।

मैं बस यह जोड़ना चाहता हूं कि निर्देशिका जरूरी नहीं है सी: \ उपयोगकर्ता \ [उपयोगकर्ता नाम] \। Ssh। यह वह निर्देशिका है जिसमें आपने अपनी सार्वजनिक कुंजी बनाई है।

उदाहरण के लिए विंडोज़ में मेरी होम निर्देशिका सी: \ [उपयोगकर्ता नाम] में बदल दी गई थी। .ssh उप-फ़ोल्डर में आपकी होम निर्देशिका सबसे अच्छी और सबसे संभावित जगह है जिसे आपने अपनी चाबियां बनाई हों। आप कमांड के साथ विंडोज़ में अपनी होम निर्देशिका देख सकते हैं:

    echo %HOMEPATH%

यदि आप "सूडो" का उपयोग करना चाहते हैं, उदाहरण:

sudo git clone [email protected] -o heroku

आपको अपने रूट उपयोगकर्ता के लिए एसएसएच कुंजी भी उत्पन्न करनी चाहिए।

sudo su
cd /root/.ssh  
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub

और यह काम करेगा।

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

cd /home/user/.ssh

क्षमा करें अगर मेरे वाक्यों को गड़बड़ कर दिया गया ...


यदि आप एक विंडोज उपयोगकर्ता हैं तो यहां अन्य समाधान शायद आपकी समस्या का समाधान नहीं करेंगे।

मैं विंडोज 7 64-बिट + गिट-1.7.7.1-preview20111027 का उपयोग करता हूं और समाधान C:\users\user\.ssh से C:\Program Files (x86)\Git\.ssh से मेरी कुंजी कॉपी करना था। यही वह जगह है जहां यह गिट क्लाइंट हेरोकू को दबाते समय चाबियाँ देखता है।

आशा है कि ये आपकी मदद करेगा।


यह मेरे लिए समाधान था:

ssh-add ~/.ssh/my_heroku_key_rsa

यह समस्या कुछ दिनों के लिए मेरे साथ गड़बड़ कर रही थी।

यह मदद कर सकता है।

1) पता लगाएं कि अब हेरोोकू में आपके पास कौन सी कुंजी है।

$ heroku keys
=== 1 key for [email protected]
ssh-dss AAAAB8NzaC...DVj3R4Ww== [email protected]

2) एक ~ / .ssh / config फ़ाइल बनाएँ:

$ sudo vim ~/.ssh/config

इस जानकारी के साथ संपादित करें

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes 
User [email protected]


विंडोज 7,64 बिट पर, उपर्युक्त समाधान (ओनूर तुहरान) ने मेरे लिए मामूली परिवर्तन के साथ काम किया

C:\Users\MyName > heroku login

ईमेल / पासवर्ड दर्ज करें

C:\Users\MyName >ssh-keygen -t rsa -f id_rsa

इसने मेरे c: \ Users \ MyName निर्देशिका में दो फ़ाइलें (id_rsa और id_rsa.pub) उत्पन्न की हैं (.ssh निर्देशिका में नहीं)

heroku keys:add id_rsa.pub
git clone [email protected]:some-heiku-xxxx.git -o heroku

मुझे लगता है कि सही "id_rsa.pub" फ़ाइल जोड़ना सबसे महत्वपूर्ण है। कुंजीजैन का उपयोग करके सार्वजनिक कुंजी उत्पन्न करने के बाद बस यह सत्यापित करें कि जब आप बनाया गया था तो समय-स्टैम्प को देखकर आप सही कुंजी जोड़ रहे हैं।







public-key