(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:
`ba开发者_高级运维sh3.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 git@github.com: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
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.
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 git@github.com:git_username/projectname.git
The following line solved the problem for me.
heroku accounts:set youraccount
You can login first in heroku providing Enail and Password and can follow the following steps to add a local git repository into a heroku application instance.
- Issue this command at the Git Bash $ ssh-keygen -t rsa (default location and with empty passphrase. You can alternatives too).
- Again issue at the bash $ heroku keys:add (It will automatically add the public key from the default location).
- Issu this at the bash to check keys. $ heroku keys .
- You can add the remote for you app name $ heroku git:remote -a app_name
- Now you can push the git repo to the heroku using this command $ heroku push origin master
精彩评论