Using SourceTree For Windows With SSH Keys

I'm using SourceTree, the stable release launched yesterday, on my Windows 7 laptop.

I generated the SSH keys using the Putty Key Generator in SourceTree, and saved them to my disk using the "Save public key" and "Save private key" options, as shown below:

Then I closed the window, and tried to import the private *.ppk key from Tools > Launch SSH Agent (Pageant) and selecting the private file. That's where the problem is. It doesn't accept the private key file:

That's the error I get. I am not sure why it's unable to open the private key file. Any idea as to what I could be doing wrong here?

2 answers

1 accepted

Edit: Turns out the problem was saving the ppk in a path which had a space in it, and SourceTree wasn't coping with that properly when launching Pageant. This will be fixed in 0.9.0.2.

Old answer: That looks like entirely the correct process to me. I just repeated this process here and the .ppk I saved loaded back just fine. Are you sure you saved the *private* key as the .ppk? I usually call my public keys '.pub' to differentiate them from the .ppk files, the public keys are just plain text.

Yes. The private file was saved with a .ppk extension. I don't think it'll work, but I'll reinstall sourcetree and see.

Okay, I've tried reinstalling SourceTree to no avail. But I've found a temporary fix, which I've added as an answer. Please take a look. Does that say something? I've no idea why this is happening, or how to fix it. Hope you can find something. Looks like I should stick to github for windows for now.

Steve, please edit your answer and add the comment to posted under my answer so that I can mark this as the answer. Thanks!

I have tried to load the key from my previously generated ppk file under TortoiseGit's putty keygen. I notice that SourceTree's Pageant cannot locate the ppk file if it is saved to TortoiseGit's directory in C:\"Program Files" or directly under C:\. Well, the file is actually unable to be located using "Computer" or command line (run as myself or administrator). But it is ok if I save the key under my Documents directory.

This might be because you need administrator permissions to do access these locations. SourceTree runs as your own user and not as administrator like TortoiseGit.

UPDATE: Apparently it's a bug. See Steve Streeting's answer.

I'd consider the error a bug, but what do I know. Anyway, I finally got it to work, and here are my findings.

Undo what you did:

  • Go to SourceTree > Tools > Options > General (Tab) > SSH Key, clear the field, and hit 'OK'.

The workaround:

  1. Go to SourceTree > Tools > Create or Import SSH Keys (that should open the 'Putty Key Generator' dialog), hit 'Generate' button to generate a new set of private and public SSH keys, and save them as shown in my question. Then close the 'Putty Key Generator' dialog box.
  2. Go to SourceTree > Tools > Launch SSH Agent (Pageant) — this is where the bug is — when the 'Select an SSH key file to load (PuTTY format)' dialog box appears, DON'T select your .ppk file. Simply hit 'Cancel'.
  3. No worries, as you'll notice that Pageant (PuTTY authentication agent) is still running in the system tray!


  4. Right-click on Pageant icon (in the system tray) > Add Key and select the private key file (.ppk) this time.
  5. Now you can carry on with the rest of the process. But the problem is, you'll have to repeat this everytime you launch SourceTree. At least until Atlassian fixes what appears to be a bug to me.

I couldn't reproduce this at all, until I tried placing the ppk in a folder which had a space in it. This is the root of the problem, which will be fixed in the next update.

I have been chasing to solve this similar issue with my source tree , I tried all these steps which were provided.. but no luck sad

This is still a bug in Version 1.8.2.11

After MUCH stuffing around, I finally got Sourcetree on Windows to work. I'm using version 1.8.3.0.

It would just hang when I put in an SSH URL while trying to verify if it was a git repo. The problem was that putty had not accepted the remote host key.

The fix: try logging into the remote host using putty itself. The log-in will probably fail (depending on how SSH is set up on the remote server), but you will get the opportunity to save the host key.

Thereafter SourceTree will actually work with the SSH URL.

I'm using version 1.8.3.0
Only way I was able to get around this:

  • Quit Sourcetree
  • Exit pageant from system tray
  • Then restart pageant.
  • Add Key to pageant
  • Restart Sourcetree

Somehow sourcetree wasn't able to read the keys loaded in the agent.

This bug seems to be 2 fold.  One is the "space" in the directory structure.  The second is it doesn't really "save" the decryption of the local key.  I have to type it in every time I restart my computer and possibly SourceTree itself.  

It doesn't work at all on my machine. Got a fresh installation of SourceTree and I'm not able to clone a repository from Bitbucket at all. Don't even get an error message in the GUI. If I start the git bash (not by pressing Terminal as it doesn't work as long as you don't have a local repository, but from the containing folder) it's reporting an authentication error. Really need my SourceTree but can't fix it somehow

Nice! This worked out for me! Thank you!

This (set of instructions under the heading 'The workaround') worked for me too.

Suggest an answer

Log in or Join to answer
Community showcase
Brian Ganninger
Published Jan 23, 2018 in Sourcetree

Tip from the team: workflow and keyboard shortcuts

Supported Platforms macOS Sourcetree has a lot to offer and, like many developer tools, finding and using it all can be a challenge, especially for a new user. Everyone might not love ...

274 views 0 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot