Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git push heroku master permission denied on VISTA

(Using Vista)I'm trying to clone an app from my GitHub Repository and push it into Heroku. Okay, so I've tried to create an SSH key so many times with this:

 `ssh-keygen -t rsa` 

It seems to go perfectly. I have it on my C:/Users/***/.ssh folder. I now try to clone an app i forked in GitHub. When I try to clone it on the rails_apps directory, I get a message saying

 Permission Denied(public key). 

I found a solution on the net saying that I should run this first:

`ssh-add` 

So I tried doing that. But it said that:

Could not open a connection to your authentication agent.

Then after some googling I find something about executing the ssh-agent. So I do this:

`ssh-agent bash`

and the command line changes from my rails_apps directory to this:

`bash3.1$>`

So I run:

`bash3.1$>ssh-add [path to .ssh folder]`

and it successfully adds the rsa private key(it doesn't work with id-rsa.pub). I have also pasted the newly generated public key to my GitHub account.

Now when I try to clone:

`bash3.1$>git clone [email protected]:username/myrepo.git`

It now successfully clones the repo I forked in GitHub. Now that I have the app in my local repo, I try to create a heroku app.

`bash3.1$>cd myrepo`  
`bash3.1$>heroku create myapp`

And this code runs successfully. Git remote added successfully. Now all I have to do is to push it.

`bash3.1$>git push heroku master`

BAM! I get the error message again.

Permission denied (public key)

I am so close into pushing my app to heroku. But it just won't work. Can you help me. What am I doing wrong here? Thanks! :D

like image 488
KT. Avatar asked Dec 01 '09 08:12

KT.


2 Answers

I had a similar problem. Running the following command fixed it for me:

heroku keys:add ~/.ssh/id_rsa.pub

Substitute "~/.ssh/id_rsa.pub" with your path to your id_rsa.pub file.

like image 147
Graeme Collins Avatar answered Oct 14 '22 15:10

Graeme Collins


Note: your ticket on GitHub Support prompted the answer:

You need to give heroku your key. There should be a command to do it. If you can't find it, you'll have to contact their support.

For that, see Graeme Collins's answer (and also Heroku error: "Permission denied (public key)" ):

heroku keys:add ~/.ssh/id_rsa.pub

See Heroku devcenter for more on that process.
You can then see a list of all keys, including the key’s name, like this:

heroku keys

Note: that suppose you didn't use sudo to generate your keys, as " git clone heroku ssh permission denied " illustrates (where heroku keys:add doesn't work)


More information about your ssh keys in your other GitHub Support ticket.

debug1: Trying private key: /.ssh/identity
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa

I'm not sure why it would be looking at /.ssh and not ~/.ssh then.
Try moving your keypair over to that path.


Shouldn't that be:

 git push origin master

? By default, a reference to the cloned repo is called 'origin', not 'heroku'

What does

git remote -v show

display?

It you want, you can reference the distant repo by the heroku name

git remote add heroku [email protected]:git_username/projectname.git
like image 36
VonC Avatar answered Oct 14 '22 16:10

VonC