我正在尝试使用以下命令行将代码部署到heroku:
git push heroku master
但会出现以下错误:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我已经上传了我的公共SSH密钥,但仍然会出现此错误。
我正在尝试使用以下命令行将代码部署到heroku:
git push heroku master
但会出现以下错误:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我已经上传了我的公共SSH密钥,但仍然会出现此错误。
当前回答
首先,确保隐藏文件在Mac中可见。如果没有:
打开终端并输入默认值,写入com.apple.FinderAppleShowAllFiles真killall查找器
下一步:
转到Users/user_name/.ssh/删除了所有文件。在ssh keygen-t dsa中打开终端类型然后heroku键:add~/.ssh/id_dsa.pub
注意:我是在Mac OSX 10.7.2 Lion中完成的。尽管其他国家的程序也应该相同。
其他回答
推对我很有效,然后突然停了下来。
如果heroku api正在经历宕机,那么当您尝试推送时会出现此错误。
检查:
https://status.heroku.com/
在极度紧张之前。
这是我的解决方案:
ssh-add ~/.ssh/my_heroku_key_rsa
如果要使用“sudo”,例如:
sudo git clone git@heroku.com......... -o heroku
您还应该为root用户生成ssh密钥。
sudo su
cd /root/.ssh
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub
它会奏效的。
如果不使用root用户,请在用户目录中生成ssh密钥。
cd /home/user/.ssh
对不起,如果我的句子搞砸了。。。
要遵循的顺序
$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add
当执行第二条语句时,它会要求输入,只需按Enter(回车)三次,就会添加一个键。
我花了三天的时间尝试各种可能的组合,试图让它发挥作用——我最终尝试了制作DSA密钥,结果成功了。
如果不适合您,请尝试DSA而不是RSA。
(我使用的是Ubuntu 11.10、ruby 1.8.7、heroku 2.15.1)