In case you are indeed using the SSH URL, but still are asked for username and password when git pushing:
git remote set-url origin [email protected]:<Username>/<Project>.git
You should try troubleshooting with:
ssh -vT [email protected]
Below is a piece of sample output:
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_dsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
I actually have already added the public key to GitHub before, and I also have the private key locally. However, my private key is of a different name called /c/Users/Yuci/.ssh/github_rsa
.
According to the sample output, Git is trying /c/Users/Yuci/.ssh/id_rsa
, which I don't have. Therefore, I could simply copy github_rsa
to id_rsa
in the same directory.
cp /c/Users/Yuci/.ssh/github_rsa /c/Users/Yuci/.ssh/id_rsa
Now when I run ssh -vT [email protected]
again, I have:
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Authentication succeeded (publickey).
...
Hi <my username>! You've successfully authenticated, but GitHub does not provide shell access.
...
And now I can push to GitHub without being asked for username and password :-)
https://github...
in your remotes. They should also follow thegit@github...
format. – cjc343https://github.com/user/repo.git
2. SSH, like[email protected]:user/repo.git
– Carson