Recover SVN password from local cache
Asked Answered
H

5

95

is there a way to recover a password from local cache? The password has to be stored somewhere because I can run

svn co http://my.svn.server/foo

but I've lost the password it self. Do I have to reset it or is it possible (and how) to find and decrypt the password? I'm using mostly CLI SVN on windows, sometimes switching to TortoiseSVN or IntelliJ Idea SVN.

Hubby answered 6/5, 2011 at 11:48 Comment(3)
possible duplicate of Extract TortoiseSVN saved password.Mcferren
This isn't a duplicate, TortoiseSVN is a different piece of software to svn and likely caches passwords in an entirely different way.Treacle
@StephenPaulger No, it IS. If you look at answers between both questions you'll see that they both talk about exactly the same files and exactly the same tools.Ashmead
H
217

On Windows, Subversion stores the auth data in %APPDATA%\Subversion\auth. The passwords however are stored encrypted, not in plaintext.

You can decrypt those, but only if you log in to Windows as the same user for which the auth data was saved.

Someone even wrote a tool to decrypt those. Never tried the tool myself so I don't know how well it works, but you might want to try it anyway:

http://www.leapbeyond.com/ric/TSvnPD/

Update: In TortoiseSVN 1.9 and later, you can do it without any additional tools:

Settings Dialog -> Saved Data, then click the "Clear..." button right of the text "Authentication Data". A new dialog pops up, showing all stored authentication data where you can chose which one(s) to clear. Instead of clearing, hold down the Shift and Ctrl button, and then double click on the list. A new column is shown in the dialog which shows the password in clear.

Heirdom answered 7/5, 2011 at 6:30 Comment(6)
The linked program also works with repo's created and managed through Eclipse. The name of the program is a bit misleading in that sense.Quezada
Yes, the name is misleading. IntelliJ uses this location as well by default. Seems like his location is meant for all svn clients to share.Fineberg
@Heirdom - I have tried the above TSvnPD and could able to retrieve the password back. ThanksBruyn
SHORT: Just download the exe through the link and you are all done.Potty
The Settings Dialog -> Saved Data etc.. tip worked for me (I can't just download software at work). Thanks!Tomcat
How absolutely, phenomenally insane the "Settings Dialog" variant is. I wonder who got the idea to hide it this way. And why. Anyways thx a lot to the past.Hepatic
T
52

In ~/.subversion/auth/svn.simple/ you should find a file with a long hexadecimal name. The password is in there in plaintext.

If there is more than one file you'll need to find that one that references the server you need the password for.

Treacle answered 6/5, 2011 at 14:14 Comment(3)
Passwords stored in svn.simple are encrypted since Subversion 1.6.Falter
Mine reference gnome-keyring but cannot see anything relevant in my keyringRetriever
If you have a reference to the gnome-keyring your password might be stored simply as "network password".Binomial
R
32

For those interested in the OS X solution for apps like Intelli-J where authorizations are stored by OSX:

  1. Hit CMD+SPACE
  2. Type "keychain"
  3. Open keychain access
  4. Under "Keychains" on the left, choose "login"
  5. Under "Category" on the right, choose "All items"
  6. At the top right in the search box, type in the the host URL (e.g. svn.mycompany.com)
  7. Your keychain item will show if you chose to have your Mac remember your login credentials.
  8. Double click the item and check the "Show password" checkbox at the bottom of the dialog that pops up. You will have to enter your Mac login to reveal the password.

Much easier than having to try to decrypt a password :-)

Resa answered 23/1, 2013 at 1:29 Comment(1)
Wow, didn't know this before. Thanks so much!Broeder
R
6

Just use this this decrypter to decrypt your locally cached username & password.

By default, TortoiseSVN stores your cached credentials inside files in the %APPDATA%\Subversion\auth\svn.simple directory. The passwords are encrypted using the Windows Data Protection API, with a key tied to your user account. This tool reads the files and uses the API to decrypt your passwords

svn password decryptor

Respectable answered 6/4, 2017 at 6:5 Comment(1)
This one was the simplestWhelan
U
1

Your SVN passwords in Ubuntu (12.04) are in:

~/.subversion/auth/svn.simple/

However in newer versions they are encrypted, as earlier someone mentioned. To find gnome-keyring passwords, I suggest You to use 'gkeyring' program.

To install it on Ubuntu – add repository :

sudo add-apt-repository ppa:kampka/ppa
sudo apt-get update

Install it:

sudo apt-get install gkeyring

And run as following:

gkeyring --id 15 --output=name,secret

Try different key ids to find pair matching what you are looking for. Thanks to kampka for the soft.

Unfit answered 23/5, 2014 at 10:41 Comment(1)
On Ubuntu, it is enough to use the default Passwords and Keys utility to reveal all of your passwords. I was extremely surprised how many user accounts and password were stored there! Helped to find out the forgotten SVN password as well.Newhall

© 2022 - 2025 — McMap. All rights reserved.