2013-02-05 188 views
13

編輯#3

頂部更新,是因爲它解決了我的問題,並給了我一個很好的疑難解答步驟我不知道(並且可以節省您的時間)混帳推Heroku的主權限被拒絕(公鑰)

嘗試獲得ssh -vvv [email protected]的輸出。對我來說,當我的公鑰位於/c/Users/NumberOverZero/.ssh時,ssh正在嘗試使用/ c/Program Files(x86)/Emacs/.ssh中的密鑰。

刪除Emacs ssh文件夾這是空的)修復了我的問題,因爲ssh會檢查我的用戶.ssh文件夾。


我在試圖git push heroku master時收到Permission denied (publickey)

幾件事情,使得這個不同從下面的文章:

  • 我有ssh進行github上
  • 我是能夠成功地推到Heroku的昨晚
  • 工作自那推,我已經做了一個單行更改爲一個js文件,並承諾和推動。沒有其他變化。

我能找到的最接近的是這篇文章:

git clone heroku ssh permission denied

我已經通過了相關問題看起來(有不少):

git push heroku master Permission denied (publickey). fatal: The remote end hung up unexpectedly
git push heroku master permission denied
git clone heroku ssh permission denied
https://stackoverflow.com/questions/13059076/git-push-permission-denied-publickey-windows-xp
heroku - rails - Permission denied (publickey)

我已經試過:

  1. heroku keys:clear 
    heroku keys:add 
    
  2. heroku keys:clear 
    *delete every key in .ssh* 
    heroku keys:add 
    
  3. *delete my application on heroku* 
    heroku keys:clear   
    heroku login (adds key for me) 
    heroku create 
    git push heroku master 
    fails 
    
  4. *delete the app on heroku* 
    delete keys in .ssh 
    heroku keys:clear 
    copy all files into a new repository 
    push new repository to github successfully 
    heroku login (adds github key for me) 
    heroku create 
    git push heroku master 
    fails 
    
  5. *delete the app on heroku* 
    heroku keys:clear 
    heroku login (adds key for me) 
    heroku create 
    heroku git:clone app app 
    fails 
    

有什麼想法?我已經完成了鏈接SO中的所有步驟 - 其中大部分只是沒有運行heroku的人:添加或設置ssh密鑰(這些密鑰都是我在其中完成的)。

假設內置命令在沒有ssh密鑰的情況下可以完成他們所需的操作,我們讓heroku大部分時間都在使用(而不是直接創建ssh密鑰)。看起來不是。

編輯:現在我刪除了應用程序,新的文物插件驚動網站關閉。試圖通過他們的網站登錄要求我通過heroku登錄。我無法找到一種方法,因爲該應用程序已經消失。有沒有辦法刪除該插件,現在我無法訪問該應用程序? heroku addons提供了一個錯誤,所以我不認爲我通過那裏得到它。

編輯#2:增加了另一個步驟我試過 - 將文件移入新的存儲庫並推送到新的應用程序。

+0

你使用的是heroku寶石還是toolbet?你的操作系統是什麼?你有一段時間後嘗試過嗎?也許這是一些API錯誤? –

+0

我使用了win7的自動安裝程序,我相信它是toolbelt。我在11小時前和2小時前嘗試過(每次多次)。我檢查了他們的狀態,並沒有看到任何API問題,但是我想,在我嘗試第一次失敗之前一個小時(大致)有一個小時。 – NumberOverZero

+0

@NumberOverZero - 你能詳細說明輸出如何幫助你嗎? -vvv發出的調試文本牆是不可破譯的。 – Constablebrew

回答

4

不錯的工作鏈接到你看過的所有其他東西,並嘗試! (這會改善你得到的迴應,但是你仍然應該爲很多「你試過......」和「也許它是......」)做好準備,因爲這是一個系統/環境問題,不在正常流量)

你可能在你的本地終端會話中有一些工作已經失去了。 (我有這種情況發生一堆倍)

事情可能是:在Heroku

  1. 您的SSH密鑰
  2. 您從該計算機/網絡推高到Heroku的能力
  3. 一些關於你的git回購

我遇到過這一次,這讓我瘋狂。我跳上我的(免費)cloud9帳戶,從github克隆了一些簡單的rails應用程序,並將其推送到heroku,這幫助我證明了我的heroku帳戶是好的,heroku本身很好,但我的本地筆記本電腦在我的配置中有一些問題。 我認爲這個問題是我的用戶名,但我不記得。 (移動到不同的環境,並從頭開始幫助我意識到這個問題雖然)

+0

感謝您的回覆。 (1)如果是關於我在heroku上的ssh密鑰,'heroku keys:clear'沒有照顧?另外,是否有另一種方法來管理他們的密鑰版本? (2)當然有可能。我猜想,我可以在cloud9試試這個。 (3)我試圖將所有東西都複製到一個新的repo中,並將其成功推送到github,然後在heroku上刪除我的應用程序,並嘗試將新的repo上傳到新的heroku應用程序。我會將其添加到列表中,謝謝。 – NumberOverZero

+0

更新:我嘗試從cloud9推送併成功,因此我會嘗試完全重新安裝工具欄並查看會發生什麼。從c9推出的回購規模爲145mb,但在github上只有〜1-2(由於我在測試#4中做了一個新回購,所以只有不到十幾次提交)。一旦我看到重新安裝會發生什麼,我會接受。謝謝您的幫助! – NumberOverZero

+0

請記住,slu size大小!=回購大小。 slug具有你的代碼以及任何依賴和任何語言運行時。如果你使用像Java這樣的編譯語言,它也會有編譯後的源代碼。 – ryanbrainard

0

您收到此消息的主要原因是因爲您沒有ssh-keygen添加到您的環境變量。

該命令位於Git程序文件的bin目錄中。

您應該將該bin目錄添加到您的環境變量中。

9

我已經爲Windows 7盒同樣的問題,在這裏找到了解決辦法:http://www.gmarwaha.com/blog/2011/05/18/heroku-trouble-with-windows-and-ssh-keys/

解決方案:通常一旦你創建密鑰如上所述,兩個文件 - 「id_rsa」和「 id_rsa.pub「 - 存儲在用戶主文件夾內的」.ssh「文件夾 中。如果你正在使用linux,那麼 似乎足夠好。但對於似乎並不削減它的git的windows版本。 它希望密鑰存儲在「msysgit」安裝文件夾中的 「.ssh」文件夾中以及。如果 沒有在「msysgit」安裝文件夾中找到「.ssh」文件夾,則可以使用 隨意創建一個。一旦放棄了這兩個關鍵文件存在和 重複整個過程,一切都順利,我的 應用得到了部署在Heroku的雲和世界又是一個 更好的地方居住。

在我情況下,我必須找到哪裏安裝了git.exe,這是C:\Program Files\Git\。因此,這裏的步驟:

  1. C:\Program Files\Git\
  2. 複製id_rsaid_rsa.pub從您的個人文件夾(C:\Users\username\.ssh\)創建.ssh文件夾C:\Program Files\Git\.ssh\
  3. 請再試C:\dev\heroku\sample-app> git push heroku master
+0

它的工作!非常感謝。 –

相關問題