2013-02-21 140 views
8

我在Windows 7 64位上。我正在使用最新的Heroku Toolbelt和GitHub Windows應用程序(兩天前下載)。兩天前,一切都很完美。我安裝了PHP和Apache,突然Heroku的只是給了我Git Heroku權限拒絕公鑰(添加公鑰後)

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

我已經多次做過這兩個命令。

heroku keys:clear 
heroku keys:add 

我已經刪除了我的鑰匙並重新制作了它們。我用其他應用程序生成了一些應用程序(puttygen)。我已經通過命令行和Web界面上傳了它們。我甚至讓GitHub Windows應用程序生成一個新密鑰,然後我上傳了一個。我不能git pushgit clone從heroku。我甚至嘗試過在本地製作一個新的git倉庫,並添加heroku作爲遠程鏡像,然後從那裏推送。沒有任何運氣。

我讀過幾十個stackoverflow文章,並嘗試過提供的每一個解決方案。沒有幫助。

編輯: 我不知道它的問題,但我正在做一個Facebook應用程序,並通過heroku's help page工作。我已經從頂部重新開始並停止工作,但我無法通過git clone命令。我也從頭重新安裝了heroku工具帶。

回答

21

我經歷過類似的東西 - 同樣的錯誤信息,從一個非常類似的設置,(最新的Heroku工具區,安裝了Github上Windows客戶端)

我認爲這是一個假設的git讓您有公開的名稱密鑰文件。 Github的Windows客戶端在您的$ HOME/.ssh目錄中創建github_rsa和github_rsa.pub。如果您在〜/ .ssh目錄中只看到這些文件,請嘗試使用ssh-keygen而不是Github客戶端來創建一個帶有標準名稱(id_rsa.pub)的新文件。

我能夠通過執行這些步驟來解決此問題。

創建一個新的公共密鑰使用ssh-keygen

$ ssh-keygen -t rsa 
Generating public/private rsa key pair. 
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
... 

在這一點上我現在有id_rsa和id_rsa.pub,以及在我的.ssh目錄GitHub的鑰匙。

然後重新上傳:

$ heroku keys:add ~/.ssh/id_rsa.pub 
Uploading ssh public key... 

(從http://www.whatibroke.com/?p=284通過git push heroku master Permission denied (publickey). fatal: The remote end hung up unexpectedly

+0

嘿,謝謝。這確實是我的問題的解決方案。我已經在windows 8和heroku toolbet上安裝了github客戶端;) – 2013-07-16 09:46:35

+0

謝謝你,那就是解決方案! – 2013-08-26 17:25:42

+0

如果有興趣,這些說明在Mac上也很棒。 – 2013-09-12 01:38:41

0

這是我如何解決我的問題:

我已經安裝了Heroku的toobelt和使用heroku keys:remove 刪除我的舊密鑰爲這臺PC,然後:

1.
添加C:\Program Files (x86)\Git\bin%PATH%在這個答案 https://stackoverflow.com/a/6318188/521088
(所以關鍵的Heroku:添加可以使用ssh-凱基)

2。heroku keys:add

完成!

相關問題