Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Permission denied (publickey)


I'm using SourceTree v2.5.2 (111) to clone and push to Bitbucket.

When I trying the clone a project or to push, I'm getting the error:

Please make sure you have the correct access rights
and the repository exists.
Permission denied (publickey).
fatal: Could not read from remote repository.

I've tried to re-add the account, checked the ssh key, I'm still getting the error.

Any thought? Can anybody help me?



12 answers

1 accepted

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

101 votes
Answer accepted


I was able to fix it!

I've tried to re-authorize SourceTree in the OAuth or regenerate the ssk key with `ssh-keygen`. Both didn't worked.

I did follow the documentation configure-multiple-ssh-identities-for-osx-linux

$ ssh -Tv
OpenSSH_6.9p1, LibreSSL 2.1.8
Permission denied (publickey).

$ ssh-add -l 
2048 SHA256:... /Users/user/.ssh/id_rsa (RSA)

$ ssh-add ~/.ssh/user-Bitbucket
Enter passphrase for /Users/user/.ssh/user-Bitbucket: 
Identity added: /Users/user/.ssh/user-Bitbucket (/Users/user/.ssh/user-Bitbucket)

$ ssh-add -l 
2048 SHA256:... /Users/user/.ssh/id_rsa (RSA)
2048 SHA256:... /Users/user/.ssh/user-Bitbucket (RSA)

$ ssh -Tv
OpenSSH_6.9p1, LibreSSL 2.1.8
logged in as user.

Then, I was able to push my commits. It's working!

The issue might have come after the reboot of the mac. The first one since I had install SourceTree v2.5.2 (110) for a better support of OAuth...

Thank You,  I had the same issue and this was helpful.  

Like # people like this

I had the same issue in the same scenario (after reboot I think) and this resolved it.  Thank you!

same issue here. The solution worked like a charm!

thnx my issue fix by above work.

thanks a lot!!!!

I had the same issue, and this solution saved me a time and energy :D thank you very much.

I had this problem and this solution worked.

I am on Sourcetree 2.7.3 (no recent updates).

Problem happened after an OSX update to High Sierra, osx 10.13.5 

Like richardv likes this

This solves my issue for ages!

This worked like a charm, thank you!


If I restart the computer I need to do this again, how to avoid this?

Like # people like this

@Arildo Junior you only need to do it once.

Worked for me but I only needed to do the first step, 

ssh -Tv
Like # people like this

Solved my issue as well. 

Spot on! Thank you

Thank you ! In my case i had to start the agent with command:

eval `ssh-agent -s`

And then run the commands listed on your answer.

Like # people like this

If you encountered this on 

ssh-add -l
The agent has no identities.

run this 

ssh-add -K ~/.ssh/id_rsa

to add the key into ssh agent. after this, run

ssh-add -l

fyi, i'm using macOS Mojave 

Like # people like this

This solved my issue.

Like olegvolleto likes this

Wow! You save me. Thanks a lot.

Great solution!

For people like me who do not understand what do you mean by "user-Bitbucket" in 

ssh-add ~/.ssh/user-Bitbucket 

I used id_rsa again and then I was able to do all actions like fetch, pull, or push.


NOTE: I was able to fetch/pull/push from XCODE or terminal but for some reason source tree was unable to do so.

Thanks for the great answer above. Worked :)

Like # people like this

Thanks for info, this works for me

For me too, thank you so much!

i was having the same problem but i was able to solve it with your tip, and i just had to use ssh -Tv

you are great man!

to make it clear, please check all the ssh private key names in your mac then add it using the command

Thanks man!! This works for me. 

This didn't work for me because it asks for a passphrase - which I don't know because the key was generated by Sourcetree - what does Sourcetree use?

Sometimes it has to do with the ssh url in the config.

Change the url settings in the config file located under your .git folder inside your project.


[remote "origin"]


url =

This should get you connected to git using the ssh key pairs you set earlier on.

  • *Bold Italicized should be changed to your values accordingly.

Solved it for me in, despite everything in order above. There was one small note due to the fact that I was logging in to a "company" workspace that was not named for my account.

So where you have:

url =

you might need to read it as this instead:

url =

Like Arpi.Patel likes this

This worked for me on my windows 10 machine, running tortoisegit with pageant.  Making sure to use my bitbucket username in the clone url.  

Thank you for the ans.

Your answer worked me with the help of Darron Smith's answer.

Like Darron Smith likes this

Faced the similar issue. Thanks for sharing

For me solved running:

eval `ssh-agent -s`

I also got the same error.


Permission denied (publickey).

fatal: Could not read from remote repository.


Solution: i regenerated key and added the identitiy by using the below command

ssh-add ~/.ssh/id_rsa 

then i tried giving git pull. it started working!


I followed all the steps above and I still get the following when I try to 'get fetch':


Permission denied (publickey).

fatal: Could not read from remote repository.


Please make sure you have the correct access rights

and the repository exists.


I am running on Google Cloud Compute Engine.


I generated a key, added it to the BitBucket, added the key to the chain etc. When I run `ssh -T` I get the message `authenticated via a deploy key.`


I did try to git clone a repository on a different folder on the file system and it works fine. For this folder seems not working.



For me, i just had to delete the ssh keys in `~/.ssh` and regenerate new keys. Sourcetree was able to upload them into my github account and clone repositories again.

Thank You!

I have to push my repository to bitbucket but whenever i try to push it or clone my local repo with server it gives me error "permission denied(publickey)" i am using git tortoise on windows 8... any idea what i am doing wrong???

Thank you very much, the solution proposed in this post worked for me!

Like magedhamid likes this

Solved my issue, Thank You.

0 votes
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Jun 07, 2017

Which operating system are you using?

macOS v10.11.6

Same occurs for me. Has happened since the upgrade to 2.5.2. Switched back to https however that keeps asking for my password constantly. Atleast I can work though.

I've also switched to GitKraken which has no issues with the same repos and ssh. Might be worth switching everything over.

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

AUG Leaders

Atlassian Community Events