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

Pageant doesn't save keys


Windows 7


Pageant started by SourceTree


- Try to sync repository with local git server (gitolite) with user gitolite@git.local

- SourceTree wants a password which is not necessary

- Open Pageant and import the SSH key for that server

- Everything runs smooth than

- Restart computer / start SourceTree / try to fetch => asking again for a password

- Open Pageant results in an empty Pageant

=> So I have to manually readd my keys to Pageant which is very very annoying!

4 answers

I know I'm over five years late to the party, but in case it helps anyone else I had this same issue after creating new keys. I needed to open Tools > Options and on the General tab change the "SSH Key" field to reflect the new name for my private key.

Deleted user Apr 01, 2019


Awesome! Thanks for the help :)

You're awesome , thanks for sharing.

Good lord, thanks

Much merit for this tip!

Saved me a lot of time!

9 votes

Pageant doesn't remember its keys unfortunately, but if SourceTree launches Pageant it should pass the contents of the 'SSH Key' setting in Preferences - what does yours say?

When I've tried this with my key present in that SSH Key setting, Pageant always starts up with that key loaded (after I type the passphrase).

Thank you very much!

Thank you Steve, that worked like a charm. BTW, is there any way I can bypass having to input the pass-phrase for my SSH key (which Pegeant asks so that it can load the key) on launching SourceTree after each PC restart? I am perfectly okay with having to type in the pass-phrase, but just wondering if there is a way to bypass it.

Hi Suhail,

I arrived here trying to find the same answer, due to a VM needing to be able to restart and use sFTP without the need to manually type the passphrase for the private key. With nothing "simple" I remembered I'd done some scripting years ago that manipulated dialogue boxes of programs, even opening save dialogues and setting save paths for files from within drafting programs. That was pre-PowerShell though!

After some research, I managed to develop a PowerShell script using bits and pieces that I gathered, so certainly nothing mind blowing, just took some time to tweak!! I'm not claiming it is perfect or the best script, but it works for me.

I've set it to run with Task Scheduler 30 seconds after login, which finds the passphrase prompt pop-up and enters the password.

There are a few ways to encrypt passwords, I used this:

I could only get it to work by converting the encrypted password back to plain text, so I do a clear variable at the end, just to add some security. I know converting it to plain text is a security issue and could be hacked, but I am prepared to wear that risk, as it needs to work automatically (being a VM, no one can see the console!). But I figure it is a much smaller risk than having the password in plain text in the script.

We only have one key, it may be possible to amend if you have multiple ones, but I'll leave that to others!

Script below:


Add-Type -AssemblyName microsoft.VisualBasic
Add-Type -AssemblyName System.Windows.Forms
$encrypted = "PASSWORD CONVERTED TO RANDOM NUMBERS (see link above)"
$SecurePassword = $encrypted | ConvertTo-SecureString
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecurePassword)
$password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
$app = get-process | where {$_.mainwindowtitle -match "Pageant: Enter Passphrase"}
$processID = 0
foreach ($a in $app) {
if ($ -gt $processID) { $processID = $
start-sleep -Milliseconds 500
Clear-Variable -Name "password"

The only way that I found was using which describes how to make a shortcut for pageant that will load multiple keys (but you must still enter the passphrases for those encrypted keys). When I power on my computer I start pageant using the shortcut, enter the passphrases and then I start SourceTree.

Okay, this works perfectly for one key. Is there any chance to give just a folder with public keys or even an option to grab keys from the user .ssh folder? Because I have multiple keys for multiple servers in use.

Thanks so much!

We do support multiple keys with OpenSSH because you can add them incrementally from the Tools menu after the agent has launched (after which they they appear in the SSH key field in preferences separated by ';'). So far haven't supported that with Pageant because you can't add keys incrementally like that once Pageant is running (at least not from outside it's own interface) - it only works when you launch Pageant with all the keys at once on the command line (see Vincent's answer below about how he does that in his Startup folder - personally this is how I do it too, simply because I use other PuTTY tools outside of SourceTree too).

I will look at supporting multiple keys if you manually configure the SSH key field instead with ';' characters, although that would only work the next time Pageant is re-started.

Suggest an answer

Log in or Sign up to answer

Atlassian Community Events