开发者

How come Heroku is giving a permission denied error?

When

$ git clone -v git@heroku.com:testabcde.git Cloning into testabcde...

Heroku returns

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

When

$ heroku keys

returns

=== 1 key for ohho@gmail.com
ssh-rsa AAAAB3NzaC...lXLyj9YQ== ohho@gmail.com

now

$ ssh -v git@heroku.com -T

OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to heroku.com [50.19.85.154] port 22.
debug1: Connection established.
debug1: identity file /Users/ohho/.ssh/identity type -1
debug1: identity file /Users/ohho/.ssh/id_rsa type 1
debug1: identity file /Users/ohho/.ssh/id_dsa type 2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-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_5.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr 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 /Users/ohho/.ssh/known_hosts:5
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: /Users/ohho/.ssh/identity
debug1: Offering public key: /Users/ohho开发者_开发知识库/.ssh/id_rsa
debug1: Remote: Forced command: /home/git/bin/git_proxy ohho@gmail.com
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: Offering public key: /Users/ohho/.ssh/id_dsa
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

How to fix the Permission denied (publickey) error?

UPDATE (file permission info):

drwxr-xr-x  11 ohho    staff    374 Sep 16 09:37 .
drwxr-xr-x+ 50 ohho    staff   1700 Sep 15 10:34 ..
-rw-------   1 ohho    staff   1743 Sep 16 09:37 github_rsa
-rw-r--r--   1 ohho    staff    390 Sep 16 09:37 github_rsa.pub
-rw-r--r--   1 ohho    staff    390 Sep  9 09:47 github_rsa.pub_bak-github
-rw-------   1 ohho    staff   1743 Sep  9 09:47 github_rsa_bak-github
-rw-------   1 ohho    staff    736 Dec  2  2010 id_dsa
-rw-r--r--   1 ohho    staff    606 Dec  2  2010 id_dsa.pub
-rw-------   1 ohho    staff   1743 Jan 28  2011 id_rsa
-rw-r--r--   1 ohho    staff    399 Jan 28  2011 id_rsa.pub
-rw-r--r--@  1 ohho    staff  10752 Sep 16 11:47 known_hosts


I had the same issue and could solve doing:

ssh-add ~/.ssh/id_rsa

(private key for the public key added to heroku)


With msysgit, check the permissions on your .ssh directory from a bash session (they should be 700), and the files in it (600).
Check out the issue 261 and see if one of the workaround works, like (if everything else fails) replacing the ssh.exe by one from cygwin.

The OP ohho mentions the SO question "git clone fails for Heroku project", which recommends to load the heroku key (when it has a different name than the default id_rsa):

ssh-add ~/.ssh/heroku_rsa

That is a solution especially if you have already an id_rsa private key (for other purposes than heroku)


I have same issue on this. I had an app, then create another app, same account. First app still works with git but can't do anything with git in second app even other actions (such as logs... ) still work!

This works for me: - clear heroku current keys:

heroku keys:clear
  • Delete your current private keys at ~/.ssh/ or windows C:\Users\.ssh

  • Create new key pair:

    ssh-keygen -t rsa -C "your.email@domain.com"

  • Upload to heroku:

    heroku keys:add

It will list current key pairs you have and ask for the one you want to upload, enter number

Done.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜