我正在尝试使用以下命令行将代码部署到heroku:

git push heroku master

但会出现以下错误:

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

我已经上传了我的公共SSH密钥,但仍然会出现此错误。


当前回答

如果您是windows用户,这里的其他解决方案可能无法解决您的问题。

我使用的是Windows 7 64位+Git-1.7.7.1-review20111027,解决方案是将我的密钥从C:\users\user\.ssh复制到C:\Program Files(x86)\Git\.ssh。这是Git客户端在推送到heroku时查找密钥的地方。

我希望这有帮助。

其他回答

只有一个命令有效:

heroku keys:add

如果它不存在的话,它会成为一个。

当TortoiseGIT安装在我的机器上时,我遇到了这个问题。将环境变量GIT_SSH从

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

to

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

使用ssh-keygen和keys完成本教程:add,它起作用了!

我有同样的问题,因为我没有公钥,所以我做到了:

heroku keys:clear
heroku keys:add

这将生成公钥,然后工作正常

在尝试了所有这些想法之后,我仍然有问题。这是我的问题:

我的远程heroku存储库被吓坏了。我将其刷新如下:

git remote -v

然后删除错误的heroku:

git remote rm heroku

然后添加新的

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

您可以从应用程序的Heroku设置页面获取站点名称。祝你好运

听起来您的~/.ssh/authorized_keys文件设置不正确。验证:

它在正确的路径上。文件的权限为0600。~/.ssh的权限为0700。