我无法在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。
答案 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上做一切。