Reputation: 6353
I want to push my commits to github with ssh. I get
You've successfully authenticated
message after run ssh -T [email protected]
command but when I want to push my commits I get this error:
Permission denied (publickey). fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
I run ssh-add -l
command and I get
4096 SHA256:SREQ0/2G0mT+UxUmpLWmkMramBcFxnl+onFyXgwFENk ~/.ssh/work2_rsa (RSA) 4096 SHA256:gKPZ1Hxzc6eZ/NsgnoPaJsGbdWgQV54bYAXaTym3PfY ~/.ssh/work3_rsa (RSA)
I run git remote -v
and I get
origin [email protected]:H-Ghadirian/UdacitySillySong.git (fetch)
origin [email protected]:H-Ghadirian/UdacitySillySong.git (push)
sillySong [email protected]:H-Ghadirian/UdacitySillySong.git (fetch)
sillySong [email protected]:H-Ghadirian/UdacitySillySong.git (push)
I read this post. Its very similar to my issue but sudo
didn't solve my problem.
I also run git push -u origin master
and get the same error :
Permission denied (publickey).
I also read Permission denied (publickey). fatal: The remote end hung up unexpectedly for git pull but my public key is in .ssh folder and thats not my case
I read this page: Error: Permission denied (publickey) and check all. Did I miss something?
What should I do?
MacOS: Sierra
git version 2.13.5 (Apple Git-94)
As this link describe,I add config
file to my .ssh
folder and add
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/work2_rsa
to it.
Upvotes: 6
Views: 2570
Reputation: 6726
Double check your git config core.sshCommand
is as intended.
I also ended up in this situation by copying my .gitconfig
from C:\Users\<User>\.gitconfig
to ~/.gitconfig
in WSL, without realizing however that that copied along the path to an ssh executable. In WSL that configuration shadowed the default; the default should run instead.
So I had to run
git config --global --unset core.sshCommand
Upvotes: 1
Reputation: 1324318
Check first what git remote -v
does return:
[email protected]:<you>/<yourRepo.git>
Just to be clear, you need to create the remote repo first on GitHub: pushing to a non-existing repo would generate that error.
Typically, an ssh url not working means said URL is not written the way ssh expects it.
And ssh might expect a different URL because of an ssh config
file in ~/.ssh/config
.
I run commands with
sudo
and check repo multiple times.
You did not run your ssh [email protected]
with sudi, which means you also don't need sudo
for your push commands.
Upvotes: 3