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

git push heroku master

但会出现以下错误:

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

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


当前回答

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

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

to

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

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

其他回答

我面临的问题是在Windows上,每当我运行“heroku keys:add”时,它都会选择github键。以下是我解决问题的步骤

转到“Document and Settings”文件夹下的.ssh目录,删除了git hub密钥运行命令heroku键:添加

上面的命令要求我生成一个新的密钥,下面是输出找不到现有公钥。是否要生成一个?[Yn]是正在生成新的SSH公钥。正在上载SSH公钥C:\Documents and Settings/Admin/.SSH/id_rsa.pub…已完成! “heroku”gem已被弃用,取而代之的是heroku Toolbelt,请从https://toolbelt.heroku.com.

重新运行命令heroku键:添加

上述命令不会给出以下输出找到现有公钥:C:\Documents and Settings/Admin/.ssh/id_rsa.pub正在上载SSH公钥C:\Documents and Settings/Admin/.SSH/id_rsa.pub…已完成

现在使用git push heroku master

对我来说,使用上述步骤解决了问题,并能够在云上部署应用程序。

我也有同样的问题,下面的步骤对我有效,

->heroku login

abc@gmail.com密码(&P)

->cd C:\Users\yourusername\.ssh    (OR for cygwin shell ->cd ~/.ssh)

->ssh密钥生成-t rsa-f id_rsa

如果询问任何密码,请不要使用空白,填写密码,但不要忘记。

生成密钥后,您需要添加它,如下所示

$ ssh-add

给heroku

->heroku keys:add "id_rsa.pub"

将目录更改为工作区,然后

->git clone git@heroku.com:stark-dawn-1234.git -o heroku

使用上面设置的密码短语。


实际上,我也删除了下面的文件,但不确定它们是imp,

C: \Users\yourusername.heroku\credientals和C:\Users\yourusername.ssh\known_hosts

我也有这个问题。我正在使用Mac OSX。我解决的方法是以管理员身份登录

获取权限暗语

对于那些在Windows7上尝试了上述所有方法但仍然没有成功的人,我做了以下工作:-从Git目录C:\Program Files(x86)\Git\中打开GitBash.exe(不要打开命令提示符,这不起作用)。-如上所述添加以下内容,但必须删除#

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User joe@workstation.local

现在运行gitpushherokumaster,它应该可以工作了。

下面是说明如何管理ssh密钥的链接:https://devcenter.heroku.com/articles/keys#adding-heroku的关键