Heroku - Rails - 权限被拒绝(publickey)

15
heroku create
Creating floating-planet-1824......................... done, stack is bamboo-mri-1.9.2
http://floating-planet-1824.heroku.com/ | git@heroku.com:floating-planet-1824.git

git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.156' to the list of known hosts.
Agent admitted failure to sign using the key.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我成功生成了SSH密钥。

重启也没有帮助。

5个回答

29

结果表明

heroku keys:add ~/.ssh/id_rsa.pub

做得好。


20

这是我解决问题的方法

$ heroku keys:clear
Removing all SSH keys... done
$ heroku login

清除所有之前的 ssh 后,heroku login 会重新上传我的 ssh 公钥,然后我就可以愉快地执行 git push heroku master 命令了。


15
假设您已经有一个公钥和私钥来在您的~/.ssh文件夹中使用,可能会有两种不同的情况:
  • 您没有将公钥上传到Heroku的远程服务器。解决方法:执行:heroku keys:add ~/.ssh/your_public_key
  • 或者您上传了公钥,但是您没有将身份加载到SSH身份验证代理中。解决方法:执行:

    ssh-add -K ~/.ssh/your_private_key # OSX

    ssh-add -k ~/.ssh/your_private_key # Ubuntu

并输入您的密码,以便使用您的私钥


第二个正是我需要的!谢谢。 - Steve Davis
1
更新答案以显示 -k / -K 选项取决于操作系统。 - Michael Durrant
谢谢!我只有一台Mac来测试它。 - Luis Ortega Araneda

5
我遇到的问题是设置ssh环境变量。
SSH_AUTH_SOCK=0

heroku keys

如果您想查看密钥、删除已有的密钥并进行登录,Heroku将会为您创建一个新的密钥并将其添加到您的应用中。

或者,您也可以使用您的电子邮件地址生成RSA密钥,然后使用以下命令将其添加:

heroku keys:add /path

使用以下命令生成密钥:

ssh-keygen -t rsa -C "your_email@youremail.com"


0
如果其他人遇到了同样的问题:在 Fedora 16-17 上使用 rmv 1.17.3 和系统 Ruby 1.9.3p392,使用 standalone toolbelt 并清除 Heroku 密钥和凭据是不够的。我测试过了,问题不在我的 SSH 密钥链上。如果有人遇到类似的问题,并且更熟悉 Heroku 工具包,请查看 new issue here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接