I followed everything in the GitHub tutorial: https://help.github.com/articles/generating-ssh-keys
I did all the commands in the directory of my repository. I reached the end of tutorial successfully and got the message: "Hi username! You've successfully authenticated, but GitHub does not # provide shell access."
However when I tried to do things such as push it still requested for my username and password.
git push git@github.com:name/repo
which authenticates via SSH. Perhaps you could give that a try. I couldn't tell you what I did, though, let's just say that.. it works and I don't want to break it.
Check your remote
s via git remote -v
.
https://
URLs will always ask for a password, unless you configure a credential helper. More info on that in this question.
The simplest solution for password-less git access would be to use the git remote set-url
command and set an SSH url for the existing repo.
In your case, git remote set-url origin git@github.com:name/repo
.
Then you should be able to git push origin <branch>
without being asked for a password.
Good that you have correctly setup your git ssh now you need to reclone the git repository with ssh for example previously you would have done something like this :
git clone https://github.com/dangrossman/bootstrap-daterangepicker.git
this was a https clone now you need to clone with ssh as
git clone git@github.com:dangrossman/bootstrap-daterangepicker.git
you can find the ssh link from your github account same place where you found your https link. After this you can easily push without your password prompt .
It might though ask for your ssh unlock password. You then need to enter the paraphase you gave during the creation of your ssh key . If you left it blank it might not prompt for it .
I was able to stop the username & password prompt by opening .git/config
from the base repo directory and changing the remote URL.
For example:
[remote "origin"]
url = https://github.com/username/my-repo.git
should be changed to:
[remote "origin"]
url = git@github.com:username/my-repo.git
I tried the answer marked as correct but couldn't make it work. This worked for me instead git remote set-url origin ssh://git@github.com/username/reponame
.git
in end ofgit remote set-url origin git@github.com:name/repo.git
.git
at the end of the URL is not needed. It'll work without it too.