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.
精彩评论