无法将主人推到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的主要内容,如果未能解决你的问题,请参考以下文章