8

我在 Windows 7 64 位。我正在使用最新的 Heroku Toolbelt 和 GitHub Windows App(两天前下载)。两天前一切都很完美。我安装了 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)生成了一些。我已经通过命令行和网络界面上传了它们。我什至让 GitHub Windows 应用程序生成了一个新密钥,然后我上传了那个。我不能git pushgit clone来自heroku。我什至尝试在本地创建一个新的 git repo 并将 heroku 添加为远程,然后从那里推送。一点运气都没有。

我已经阅读了数十篇 stackoverflow 帖子并尝试了提供的每一个解决方案。没有任何帮助。

编辑: 我不知道这是否重要,但我正在制作一个 Facebook 应用程序并通过heroku 的帮助页面工作。我已经从顶部重新启动并努力工作,但我无法通过git clone命令。我还从头开始重新安装了 heroku 工具带。

4

2 回答 2

22

我遇到了类似的事情 - 相同的错误消息,来自非常相似的设置(最新的 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: 
...

此时,我的 .ssh 目录中现在有了 id_rsa 和 id_rsa.pub 以及 github 键。

然后重新上传:

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

(来自http://www.whatibroke.com/?p=284通过git push heroku master 权限被拒绝(公钥)。致命:远程端意外挂断

于 2013-02-27T14:54:34.037 回答
0

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

我已经安装了 heroku 工具并用来heroku keys:remove 删除这台 PC 的旧密钥,然后:

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

2.heroku keys:add

完毕!

于 2013-04-11T08:06:29.777 回答