无法将主人推到heroku

Posted

技术标签:

【中文标题】无法将主人推到heroku【英文标题】:Unable to push master to heroku 【发布时间】:2011-07-05 10:30:02 【问题描述】:

我无法在 github 和 heroku 中推送使用 git push,我已经尝试了 question 上建议的各种方法。请帮助解决这个问题..我在尝试推送时看到以下报告。

D:\My\weblog>git push heroku master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

D:\My\weblog>ssh -v git@heroku.com
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.16.232.130] port 22.
debug1: Connection established.
debug1: identity file /.ssh/identity type -1
debug1: identity file /.ssh/id_rsa type -1
debug1: identity file /.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debia
n-5pgsql1
debug1: match: OpenSSH_5.1p1 Debian-5pgsql1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /.ssh/identity
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

我正在使用 Windows 7。

【问题讨论】:

erm,你没有权限? Permission denied (publickey) when deploying heroku code. fatal: The remote end hung up unexpectedly的可能重复 【参考方案1】:

输入gem install heroku

然后将github的rsa密钥上传到heroku

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

一旦你用命令配置了 heroku 和 github,你的所有代码都会转到 github,然后从那里转到 Heroku

git push heroku master 

很快你就会看到这些消息

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Detected Rails is not set to serve static_assets

【讨论】:

不确定gem ...,但heroku keys:add 肯定解决了我的问题(赞成)。【参考方案2】:

看来 heroku 不接受您机器的公钥。确保您已将公钥提供给 heroku。 Heroku's guide on SSH keys 应该有帮助。

【讨论】:

您是否能够使用公钥通过 SSH 连接到其他服务器? 我是新手,暂时无法访问 github 和 heroku。我尝试在 ubuntu 上使用它,但更糟糕的是。heroku 甚至无法在 ubuntu 中安装!! 尝试备份您的本地密钥并在 Windows 上重新启动整个密钥设置过程。您也可以尝试联系 Heroku 的支持。【参考方案3】:

你可以试试这个

http://devcenter.heroku.com/articles/keys

【讨论】:

这个链接帮助我解决了同样的问题。我使用 heroku 键来查看我有两个键。然后我输入了 heroku remove:keys email@email.com 两次以删除它们 - 然后使用 heroku add:keys - 当我尝试推送到 heroku 时,它起作用了。【参考方案4】:

我在 OSX 上使用 heroku-toolbelt/2.32.8 遇到了类似的问题。即使在关注 heroku 之后,我也没有成功,直到我在默认路径中使用了一个键 - IE ~/.ssh/id_rsa.pub。

【讨论】:

将密钥放在 id_rsa 默认空间中是唯一我可以做的事情来让它工作。谢谢!【参考方案5】:

我遇到了同样的问题 - 结果我忘记了 Windows 8 默认情况下不会像 Windows 7 那样以管理员权限启动命令提示符。以管理员身份运行它解决了我的问题。

【讨论】:

【参考方案6】:

在 ubuntu 上 sudo su 为我解决了。

当我使用 ssh 生成密钥时,如果您阅读“id_rsa.pub”的内容,文件末尾会有一个用户名。对我来说是“root@pc-name”,但没有sudo su,当前用户名是“username@pc-name”而不是“root@pc-name”。 sudo su 通过切换到“root@pc-name”解决了这个问题。

【讨论】:

这个解决方案对我有用。我怀疑更好的做法是使用用户角色生成密钥,而不是使用 root 角色。【参考方案7】:

如果使用 Windows 和 Cygwin,我必须先以管理员权限启动 Cygwin,然后才能推送到 Heroku。

【讨论】:

【参考方案8】:

我遇到了同样的问题。我用 Git Bash 用 change cmd 命令解决了这个问题。在 Git 上做所有事情。

【讨论】:

以上是关于无法将主人推到heroku的主要内容,如果未能解决你的问题,请参考以下文章

流星推到heroku:找不到main.js

无法推到豆茎

无法将python代码部署到heroku

将应用程序部署到 Heroku 后无法推送到 Github

heroku 无法将数据写入 mlab

无法使用 Heroku 将图像上传到 Cloudinary