Git Heroku权限被拒绝公钥(添加公钥后)

时间:2013-02-21 11:07:03

标签: facebook git heroku github heroku-toolbelt

我在64位Windows 7上。我正在使用最新的Heroku Toolbelt和GitHub Windows应用程序(两天前下载)。两天前一切都很完美。我安装了PHP和Apache,突然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应用程序生成了一个新密钥,我上传了那个密钥。我不能来自heroku git pushgit clone。我甚至尝试在本地创建一个新的git repo并添加heroku作为遥控器,然后从那里推送。没有任何运气。

我已经阅读了几十个stackoverflow帖子并尝试了所提供的每个解决方案。没人帮忙。

修改 我不知道这是否重要,但我正在制作一个Facebook应用并通过heroku's help page。我从顶部重新开始工作,但我无法通过git clone命令。我也从头开始重新安装了heroku工具带。

2 个答案:

答案 0 :(得分: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=284git push heroku master Permission denied (publickey). fatal: The remote end hung up unexpectedly

答案 1 :(得分:0)

这就是我解决问题的方法:

我安装了heroku toobelt并使用heroku keys:remove 删除此PC的旧密钥,然后:

1.在此答案中添加C:\Program Files (x86)\Git\bin %PATH% https://stackoverflow.com/a/6318188/521088
(所以heroku键:add可以使用ssh-keygen)

2。heroku keys:add

完成!