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


849

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

git push heroku master

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

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

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


sebarmeli का समाधान आपके लिए काम करता है? मैं "id_rsa.pub" नामक rsa कुंजी का उपयोग नहीं कर रहा हूं और बस "heroku keys: enter ~ ~ .ssh / <rsa_key_filename> .pub"
माइकल मर्चेंट

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

3
निम्न पंक्ति ने मेरे लिए समस्या हल कर दी। हरोकू खाते: सेट youraccount
Mingming

लगता है कि कुछ हेरोकू सेवाएं आज नीचे हैं - यदि आप इस डिबगिंग कर रहे हैं तो मुद्दों के लिए उनकी साइट की जांच करना सुनिश्चित करें!
फिलिप गिनी

मुझे एक ही समस्या थी, मुझे केवल इतना करना था कि heroku loginफिर ईमेल और पासवर्ड लिखें और फिर से प्रयास करें।
अलेजांद्रो वींटिमिला

जवाबों:


1474

आपको अपनी सार्वजनिक कुंजी हर्को पर अपलोड करनी होगी:

heroku keys:add ~/.ssh/id_rsa.pub

यदि आपके पास कोई सार्वजनिक कुंजी नहीं है, तो हरोकू आपको स्वचालित रूप से जोड़ने का संकेत देगा जो मूल रूप से काम करता है। महज प्रयोग करें:

heroku keys:add

अपनी सभी पिछली कुंजियाँ साफ़ करने के लिए:

heroku keys:clear

अपनी सभी मौजूदा कुंजियाँ प्रदर्शित करने के लिए:

heroku keys

संपादित करें:

ऊपर वाला मेरे लिए काम नहीं करता था। मैंने HOMEपर्यावरण चर के साथ गड़बड़ कर दी थी और इसलिए SSH गलत निर्देशिका में कुंजी खोज रहा था।

यह सुनिश्चित करने के लिए कि SSH सही निर्देशिका में कुंजी की जाँच करता है:

ssh -vT git@heroku.com

जो निम्नलिखित (सैंपल) लाइनों को प्रदर्शित करेगा

OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.19.85.156] port 22.
debug1: Connection established.
debug1: identity file /c/Wrong/Directory/.ssh/identity type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_rsa type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Twisted
debug1: no match: Twisted
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /c/Wrong/Directory/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /c/Wrong/Directory/.ssh/identity
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_rsa
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_dsa
debug1: No more authentication methods to try.

Permission denied (publickey).

ऊपर से आप देख सकते हैं कि ssh /c/Wrong/Directory/.sshनिर्देशिका में उन कुंजियों की तलाश करता है जो हमारे पास सार्वजनिक कुंजी नहीं हैं, जिन्हें हमने सिर्फ हरोको (उपयोग करते हुए heroku keys:add ~/.ssh/id_rsa.pub) में जोड़ा है ( कृपया ध्यान दें कि विंडोज़ ओएस पथ ~को संदर्भित करता है HOMEजिसमें 7/8 जीतते हैं हैC:\Users\UserName )

अपने वर्तमान होम निर्देशिका को देखने के लिए: echo $HOMEया echo %HOME%(विंडोज)

अपनी HOMEनिर्देशिका को सही ढंग से सेट करने के लिए (सही अर्थ में मैं निर्देशिका की मूल निर्देशिका का मतलब है .ssh, ताकि ssh सही निर्देशिका में चाबियाँ खोज सके)

  1. उत्तर कैसे स्थायी रूप से यूनिक्स पर्यावरण चर सेट करने के लिए पर जवाब

  2. एसओ प्रश्न के बारे में ssh गलत निर्देशिका में चाबियाँ और उसी के लिए एक समाधान की तलाश में।


31
मेरे लिए काम नहीं किया। मुझे अपनी पुरानी कुंजी को रद्द करना था और फिर हरोकू ऐप को जेनरेट करना और मेरे लिए एक नया अपलोड करना था। लीथियम द्वारा प्रदान किया गया यह करने के लिए लिंक देखें।
बोरिसडाकुर

9
लोगों के लिए सिर्फ एक नोट कह रहा है कि यह काम नहीं किया। आपको यह सुनिश्चित करने की आवश्यकता है कि आपके पास पहले से बनी ssh सार्वजनिक कुंजी है। help.github.com/mac-set-up-git मैक के साथ ऐसा करने के बारे में अधिक जानकारी के लिए।
रेयान

92
यदि आपके पास कोई सार्वजनिक कुंजी नहीं है, तो हरोकू आपको स्वचालित रूप से जोड़ने का संकेत देगा जो मूल रूप से काम करता है। बस उपयोग करें:heroku keys:add
vansan

13
यह भी प्रयास करें ssh-keygen -t rsa -C "your_email@youremail.com"कि यदि अभी भी त्रुटि हो रही है, तो एक और file.pub बनाने के लिए और इस उत्तर में अनुशंसित कमांड में से एक का उपयोग करें
Tom Roggero

3
हरोकू में जोड़ने से पहले आपको एक कुंजी बनाना / फिर से बनाना पड़ सकता है। whatibroke.com/?p=284 ने मेरे लिए विंडोज 7. के लिए काम किया है
खालिद सैफुल्लाह

146

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

->heroku login

abc@gmail.com और पासवर्ड

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

->ssh-keygen -t rsa -f id_rsa

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

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

$ ssh-add

और यह उसके लिए है

->heroku keys:add "id_rsa.pub"

निर्देशिका को कार्यक्षेत्र में बदलें, से

->git clone git@heroku.com:stark-dawn-1234.git -o heroku

पासफ़्रेज़ का उपयोग करें जिसे आप ऊपर सेट करते हैं।


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

C: \ Users \ yourusername.heroku \ क्रेडेंशियल्स और C: \ Users \ yourusername.ssh \ ज्ञात .hosts


21
इससे मेरे लिए हल हो गया। मुझे लगता है कि इसका कारण था, मेरे पास 'github_rsa' फ़ाइल थी Github for Windows, लेकिन कोई id_rsa फ़ाइल नहीं थी।
msiemens

Openssl इंस्टॉलर के साथ काम नहीं किया। मुझे ssh-keygen.exe प्रोग्राम प्राप्त करने के लिए CopSSH को स्थापित करना था।
djangofan

विंडोज 7 पर, मुझे git bashssh-keygen चलाने के लिए कमांड प्रॉम्प्ट पर ऐसा करना पड़ा । धन्यवाद।
रॉट

यह मेरे लिए काम करता है और सबसे अच्छा समाधान लगता है। बेहतर सवाल यह है कि मुझे हर दूसरे दिन यह क्यों दोहराना है
पॉल रेंटन

3
इसने मेरे लिए काम किया। यदि आप Windows पर Git Bash का उपयोग कर रहे हैं, तो कुंजी को id_rsa.pub नाम दिया जाना चाहिए या यह काम नहीं करेगा, भले ही आप Heroku को कुछ और अपलोड करें।
किव

90

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

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

1) अब हरकोकू में आपके पास क्या कुंजी है, यह पता करें।

$ heroku keys
=== 1 key for joe@example.com
ssh-dss AAAAB8NzaC...DVj3R4Ww== joe@workstation.local

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 joe@workstation.local

3
यह मेरे लिए भी काम किया, और कुछ नहीं किया! हालाँकि Userउस अंतिम लाइन से पहले एक लाइन ब्रेक होना चाहिए । साथ ही, इसने #टिप्पणी के बारे में शिकायत की , इसलिए मैंने इसे हटा दिया।
एरिक जे

2
सुनिश्चित करें कि "IdentityFile" में गैर सार्वजनिक फ़ाइल है (ऊपर की तरह), सार्वजनिक नहीं। किसी कारण से मेरा सार्वजनिक संस्करण था और यह एक त्रुटि कह रहा था कि फ़ाइल के लिए अनुमतियाँ गलत थीं।
केविन के

इस hostजानकारी को मेरी कॉन्फ़िग फ़ाइल में जोड़ने से मेरे लिए समस्या हल हो गई। जब मैंने कोशिश की तो मैंने एक heroku rsa कुंजी और heroku.pub पर डिफ़ॉल्ट अनुमतियाँ बनाईं git push। मुझे करना पड़ा chmod 600 heroku.pubऔर फिर जब मैंने धक्का दिया तो यह काम कर गया।
डायलन वालडे

1
IdentityFile ~/.ssh/ssh-dssनिजी कुंजी का पथ है । आप यहां अपनी निजी कुंजी दर्ज करना चाहते हैं, न कि आपकी सार्वजनिक कुंजी।
HairOfTheDog

1
इस जवाब ने मुझे सबसे ऊपर रखा। मैं विंडोज 7 64 बिट चला रहा हूं। कई अन्य चरण हैं जो इस तरह से मदद करते हैं जैसे: ssh-keygen -t rsa -f id_rsa फिर किसी भी हेरोकू कुंजियों को हटाना और जो अभी बनाया गया है उसे जोड़ना: हरोकू कीज़: क्लियर हेरोकू कीज़: C: \ उपयोगकर्ता का उपयोगकर्ता नाम @ ssh जोड़ना। \ id_rsa.pub और उसके बाद उपरोक्त फ़ाइल को IdentityFile C: /Users/windows_username/.ssh/id_rsa
Paul

61

यहाँ वह लिंक है जो आपकी ssh कुंजियों को प्रबंधित करने का तरीका बताता है: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku


2
हरोकू ने मुझे कभी एक जोड़ने के लिए प्रेरित नहीं किया। इसलिए मुझे पहले ssh-keygen करना था। इससे मदद मिली। धन्यवाद!
काल

यह एक मेरे लिए काम किया। एक नई कुंजी तैयार की, मेरे मामले में पुराने को अधिलेखित कर दिया, फिर heroku के साथ उपयोग करने के लिए id_rsa.pub चुनें। धन्यवाद
jfoutch

35

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

heroku keys:clear
heroku keys:add

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


1
फिर भी त्रुटि हो रही है। मैं अलग-अलग चीजों की कोशिश करता हूं, इसे हल करता हूं, फिर अगले सप्ताह एक ही समस्या आती है ... मुझे आश्चर्य है कि हरोकू ऐसा क्यों है।
जेगालार्डो

31

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

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

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


2
मेरे लिए यह c: \ msysgit \। Ssh था। मैंने अभी अपने व्यक्तिगत फ़ोल्डर में .ssh फ़ोल्डर में एक डायरेक्टरी जंक्शन बनाया है।
कॉलिन बोवन

यहाँ एक ही समस्या है, लेकिन मैं क्यों नहीं जानता। हर बार जब मैंने कुंजियाँ जोड़ीं, तो यह प्रदर्शित हुआ कि मेरे उपयोगकर्ता फ़ोल्डर से कुंजियों का उपयोग किया गया था, इस फिक्स के साथ भी लेकिन यह काम किया।
हरिस क्रजिना

12
यह मत करो! यह काम करता है क्योंकि HOME खाली है, और यह वर्तमान exe dir को डिफॉल्ट करता है। यदि कोई अतिथि के रूप में लॉगऑन करता है, तो वह आपकी निजी कुंजी प्राप्त कर सकता है। Home_DRIVE %% HOMEPATH%, (या C: \ Users \ <username> Win7 पर) को कॉपी करने के लिए उन्नत उपयोगकर्ता सेटिंग में घर सेट करें और वहां .ssh की प्रतिलिपि बनाएँ।
dmajkic

Windm पर @ Winajkic पर आगे, इस Git को %HOME%पर्यावरण चर सेट करने के लिए Windows टिप के लिए देखें %USERPROFILE%
स्टीव एयोन

29

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

ssh-add ~/.ssh/my_heroku_key_rsa

1
मुझे भी। धन्यवाद। इसके अलावा, सुनिश्चित करें कि आपकी निजी कुंजी के पास इससे जुड़ी उचित अनुमतियां हैं। chmod 600 ~/.ssh/heroku_rsa
अरनौद ब्रौसेऊ

धन्यवाद - यह मेरी समस्या भी थी, और मुझे पहले भी अरनौद की टिप का पालन करने की आवश्यकता थी।
माइक एटलस

15

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

Git (मेरी अपनी स्थापना) 'id_rsa' नाम की कुंजी की तलाश में थी।

इसलिए मैंने अपनी कुंजियों का नाम बदलकर 'id_rsa' और 'id_rsa.pub' रखने की कोशिश की और यह काम कर गई।

Btw, मुझे यकीन है कि ऐसा करने का एक और तरीका है लेकिन मैं अभी तक गहरी नहीं दिखी।


3
मेरे लिए काम किया (विंडोज 7 64 बिट)। मेरे पास Windows के लिए GitHub स्थापित है, और यह कुंजी GitHub_rsa का नाम देता है। क्या यह निर्दिष्ट करने का कोई तरीका है कि किस कुंजी Git का उपयोग करना चाहिए?
स्पॉन्जबॉय

11

यदि आपने पहले ही कुंजी अपलोड कर दी है, तो कुंजी को हटाने का प्रयास करें और फिर उसे एक नई कुंजी के साथ अपलोड करें।

 heroku keys:remove //removes the existing key
 ssh-keygen -t rsa //generates a new key in ~/.ssh folder
 heroku keys:add    //uploads the new key, if no arguments r passed then the key generated                              
                    //in default directroy i.e., ~/.ssh/id_rsa is uploaded
 git push heroku

यह काम करना चाहिए।


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

1
गलत,Must specify KEY to remove
Jallallardo

7

मैंने 3 दिनों के लिए खुद को मार डाला, इस काम को करने की कोशिश करने के लिए हर संभव संयोजन की कोशिश कर रहा था - मैंने आखिरकार इसके बजाय एक डीएसए कुंजी बनाने की कोशिश की और यह काम कर गया।

आरएसए के बजाय डीएसए की कोशिश करें अगर यह आपके लिए काम नहीं कर रहा है।

(मैं Ubuntu 11.10, रूबी 1.8.7, हरोकू 2.15.1 का उपयोग कर रहा हूं)


1
मैंने हेरोकू समर्थन के साथ बात की, और उन्होंने इसे एक अस्थायी समाधान के रूप में सुझाया। इसने मेरे लिए काम किया, लेकिन मुझे यकीन है कि यह हर मामले का जवाब नहीं है।
सॉस मैकबॉस

3
निश्चित नहीं है कि इस उत्तर ने डाउन वोट का हकदार क्यों बनाया ... इसने मेरे लिए समस्या को हल कर दिया, और यह समस्या का उत्तर बताता है।
सॉस मैकबॉस

मुझे विपरीत समस्या थी ... भले ही हरोकू देव डॉक्स कहते हैं कि आप एक डीएसए कुंजी (ssh-dss) का उपयोग कर सकते हैं, मैं तब तक 'अनुमति अस्वीकृत' संदेश प्राप्त करता रहा जब तक कि मैं एक आरएसए कुंजी पर नहीं चला गया
ब्रैंडनजप

मेरे लिए काम किया। डेसा और आरएएस के बीच टॉगलिंग काम करने लगती है यदि आप हर्को बनाने और गिट पुश से पहले अपनी चाबी बदलते हैं।
प्रमोद

और मैं एक डीएसए कुंजी कैसे बनाऊं और इसे हरोकू में जोड़ दूं?
coiso

6

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

C:\Users\MyName > heroku login

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

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

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

heroku keys:add id_rsa.pub
git clone git@heroku.com:some-heiku-xxxx.git -o heroku

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


5

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

heroku keys:add

अगर यह मौजूद नहीं है तो यह एक बना देगा।


डाउनवोट, यह त्रुटि के संदर्भ में जवाब नहीं देता है। मैंने मौजूदा को हटा दिया, नया बनाया, और कुंजियाँ जोड़ीं और अभी भी समस्या हो रही है। आपका सुझाव heroku keys:addपूर्ण उत्तर नहीं है।
जेगलार्डो

5

मुझे यह समस्या तब हुई जब मेरी मशीन पर TortoiseGIT स्थापित किया गया था। से पर्यावरण चर GIT_SSHको बदलने के बाद

"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"

सेवा

"c:\Program Files (x86)\Git\bin\ssh.exe"

और इस ट्यूटोरियल के साथ ssh-keygenऔर keys:add, यह काम करता है!


आपने किस ट्यूटोरियल का अनुसरण किया?
Eckes


Git IS द्वारा प्रदान की गई ssh का उपयोग करना एक बहुत अच्छा उपाय है। यह वास्तव में जटिल समझ पलक / तमाशा / पोटीन यहाँ हो रही थी ...
स्टीफन

4

धक्का लगाना मेरे लिए काम कर रहा था और फिर अचानक रुक गया।

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

चेक:

https://status.heroku.com/

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


3

पालन ​​करने के लिए अनुक्रम

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

दूसरा स्टेटमेंट निष्पादित करते समय यह इनपुट के लिए पूछेगा, बस तीन बार एंटर (रिटर्न) दबाएं और एक कुंजी जोड़ी जाएगी।


बहुत सारे लोगों के पास इसका सटीक उत्तर था। और कहा गया है कि काम नहीं करता है।
8

2

ऊपर दिया गया उत्तर काम नहीं करता है, लेकिन यह पता चला कि मुझे काम करने से पहले कुछ अतिरिक्त कदम करने की आवश्यकता थी।

  1. मैंने सभी id_rsa * फ़ाइलों को हटा दिया और इस गाइड का उपयोग करके एक नया SSH उत्पन्न किया ।
  2. फिर, मैंने हरोकू ऐप को नष्ट कर दिया। ~ / .Heroku / क्रेडेंशियल फ़ाइल को हटा दिया गया।
  3. 'heroku create' कमांड (और चूंकि क्रेडेंशियल फ़ाइल को हटा दिया गया है, यह आपके ईमेल / पासवर्ड के लिए संकेत देगा।
  4. अंतिम रूप से 'heroku keys: add' टाइप करें और यह डिफॉल्ट ~ / .sh / id_rsa.pub फाइल को अपलोड करेगा।
  5. यह काम करता हैं! खैर .... YMMV लेकिन मैं वास्तव में आशा करता हूं कि यह कुछ मदद हो सकती है क्योंकि मैंने पूरे दिन संघर्ष किया यह जानने की कोशिश कर रहा हूं! haha

2

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

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User joe@workstation.local

अब git धक्का heroku मास्टर चलाने के लिए और यह काम करना चाहिए।


इस के रूप में अच्छी तरह से। कल के साथ 6 घंटे बिताए और ऐसा महसूस न करें कि यह वह ज्ञान है जिसकी मुझे बिल्कुल परवाह है। मैं पॉवरशेल और कमांड प्रॉम्प्ट के माध्यम से गिथब को धक्का दे सकता हूं, लेकिन हरोक के लिए केवल गिट बैश मेरे लिए काम करता है। अब यह हर बार काम करता है। इससे पहले कि मैं उसे हिक्कु मास्टर के साथ धक्का दे दूँ, उसे भी हक्कू लॉगिन करूँ। आवश्यक नहीं हो सकता है, लेकिन अभी के लिए, यह अंधविश्वास है जो मुझे ऐसा कर रहा है। क्या बुरा सपना
JMDenver

1

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

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

अगर मैं गूंगा ध्वनि करने जा रहा हूं तो इस सामान पर मैं काफी नया हूं, लेकिन मेरी सार्वजनिक SSH कुंजी फ़ाइल अन्य वर्णों का एक गुच्छा (मानक कुंजी जीन) है जिसमें कोई अन्य जानकारी नहीं है। जब मैंने अपने कंप्यूटर पर git सेटअप किया तो मैंने इस SSH फ़ाइल का अधिग्रहण किया। मुझे लगता है कि यह वही सार्वजनिक SSH कुंजी होगी जिसका उपयोग मैं अपने हरको कोड को तैनात करने के लिए करूंगा। या हेरोकू की अपनी सार्वजनिक SSH कुंजी है जिसे मुझे उत्पन्न करने की आवश्यकता है?
vich

1
हां, आप कई अलग-अलग मेजबानों के लिए अपनी सार्वजनिक SSH कुंजी का पुन: उपयोग कर सकते हैं। मुझे यकीन नहीं है कि हरोकू कैसे काम करता है, लेकिन मैं देख सकता हूं कि मेरा जवाब वास्तव में इस मामले में लागू नहीं होता है। आप सत्यापित कर सकते हैं कि आपकी कुंजी को उनके वेब इंटरफ़ेस द्वारा स्वीकार कर लिया गया था। यदि सब कुछ अभी भी जांच करता है, तो उनकी सहायता टीम से संपर्क करने का प्रयास करें।
cdhowie

सलाह के लिए धन्यवाद! मैंने उनसे हॉकु समर्थन का संपर्क किया है। एक बार जवाब देने के बाद मैं अपडेट कर दूंगा।
विच

ठीक है। मुझे सुनने में दिलचस्पी है कि समस्या क्या है। :)
cdhowie

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

1

मुझे करना था:

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

फिर इसने काम किया:

$ git push heroku master  

1

हरोकू के लिए अपने .ssh कॉन्फिगर की जाँच करें। .Ssh फ़ोल्डर में जाएं और कॉन्फिग फाइल खोलें

cd ~/.ssh
subl config

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

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

नहीं

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

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

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

1

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

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

git remote -v

फिर एक गलत है कि हरुको को हटा दें:

git remote rm heroku

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

git remote add heroku git@heroku.com:sitename.git

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


1

जब भी मैं विंडोज पर था, तब समस्या का सामना करना पड़ रहा था और जब भी मैं "हरोकू कीज़: ऐड" चलाता, तो उसने गीथब कीज़ को चुन लिया। इसलिए यहाँ इस मुद्दे को हल करने के लिए मेरे द्वारा उठाए गए कदम हैं

  1. "दस्तावेज़ और सेटिंग्स" फ़ोल्डर के तहत .ssh निर्देशिका में गया और गिट हब कुंजियों को हटा दिया
  2. कमांड heroku चाबियाँ चलाएं: जोड़ें

उपरोक्त कमांड ने मुझे एक नई कुंजी उत्पन्न करने के लिए कहा और निम्नलिखित था कि मौजूदा सार्वजनिक कुंजी नहीं मिल सकती है। क्या आप एक उत्पन्न करना चाहेंगे? [Yn] Y नई SSH सार्वजनिक कुंजी जनरेट कर रहा है। SSH सार्वजनिक कुंजी C अपलोड करना: / दस्तावेज़ और सेटिंग्स / व्यवस्थापक / .sh / id_rsa.pub ... किया गया! 'हरोकू' रत्न को चित्रित किया गया है और उसे हेरोकू टूलबेल्ट के साथ बदल दिया गया है, https://toolbelt.heroku.com से डाउनलोड और इंस्टॉल करें

  1. कमांड हेरोकू कीज को फिर से चलाएँ: जोड़ें

उपरोक्त आदेश निम्न आउटपुट नहीं देगा: मौजूदा सार्वजनिक कुंजी मिली: C: / दस्तावेज़ और सेटिंग / व्यवस्थापक / .sh / id_rsa.pub SSH सार्वजनिक कुंजी अपलोड करना C: / दस्तावेज़ और सेटिंग / व्यवस्थापन / .sh / id_rsa.pub .. । किया हुआ

  1. अब git push heroku मास्टर का उपयोग करें

मेरे लिए उपरोक्त चरणों का उपयोग करने से समस्या हल हो गई और क्लाउड पर एप्लिकेशन को तैनात करने में सक्षम था।


1

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

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

समस्या के समाधान के लिए काम नहीं करता है। मैं लॉग इन हूं, सफलतापूर्वक कुंजियाँ जोड़ रहा हूँ, और अभी भी हो रहा हैPermission denied (publickey).
JGallardo

हमें .ssh फ़ोल्डर की सभी फ़ाइलों को हटाने की आवश्यकता क्यों है?
4

0

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

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

    echo %HOMEPATH%

0

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

sudo git clone git@heroku.com......... -o heroku

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

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

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

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

cd /home/user/.ssh

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


0

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


0

पहले सुनिश्चित करें कि आपके मैक में छिपी हुई फाइलें दिखाई दे रही हैं। यदि नहीं:

  • टर्मिनल खोलें और में टाइप करें defaults write com.apple.Finder AppleShowAllFiles TRUE
  • killall Finder

अगला कदम:

  • Users/user_name/.ssh/सभी फाइलों को हटाने के लिए जा रहे हैं ।
  • में टर्मिनल प्रकार खोलना ssh-keygen -t dsa
  • फिर heroku keys:add ~/.ssh/id_dsa.pub

एनबी I ने मैक ओएसएक्स 10.7.2 लायन में किया। हालांकि प्रक्रिया दूसरों में भी समान होनी चाहिए।


0

मेरे पास यह मुद्दा भी है। मैं मैक OSX का उपयोग कर रहा हूं। जिस तरह से मैंने तय किया कि व्यवस्थापक के रूप में लॉगिन करना था

सूदो सु

कुंजिका


0

Dmajkic का समाधान मेरी मदद कर रहा है:

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


0

यहाँ मेरे लिए क्या काम किया है। हर्को साइट को आपके ज्ञात होस्ट में नहीं जोड़ा जा रहा है। विंडो-अन्य पर जाएं दृश्य-गिट-गिट रिपॉजिटरी दिखाएं। वहाँ से रिपॉजिटरी का क्लोन तैयार किया। एक बार जब आप इसे क्लोन कर लेते हैं, तो उस रिपॉजिटरी को हटा दें जो अभी बनाई गई थी और फिर इसे फ़ाइल मेनू से आयात करें। ऐसा तब से करें जब आप रिपॉजिटरी को क्लोन करते हैं, यह इसे एक्सप्लोरर व्यू में नहीं जोड़ता है। अब आपके पास गिट रिपॉजिटरी और एक्सप्लोरर व्यू होना चाहिए।

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