无法将主人推送到heroku

时间:2011-02-27 23:13:01

标签: git heroku

我无法在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。

8 个答案:

答案 0 :(得分:17)

输入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

答案 1 :(得分:5)

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

答案 2 :(得分:2)

答案 3 :(得分:2)

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

答案 4 :(得分:1)

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

答案 5 :(得分:1)

在ubuntu上sudo su为我解决了这个问题。

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

我遇到了同样的问题。我用Git Bash的change cmd命令解决了它。在Git上做一切。