有没有办法从本地缓存中恢复密码?密码必须存储在某处,因为我可以运行
svn co http://my.svn.server/foo
但我自己丢失了密码。我是否必须重置它,或者是否可以(以及如何)查找和解密密码?我在Windows上使用的主要是CLI SVN,有时会切换到TortoiseSVN或IntelliJ Idea SVN。
答案 0 :(得分:156)
在Windows上,Subversion将身份验证数据存储在%APPDATA%\Subversion\auth
中。但密码是加密存储的,而不是纯文本。
您可以解密这些内容,但前提是您以保存身份验证数据的同一用户身份登录Windows。
有人甚至写了一个工具来解密那些。从来没有尝试过这个工具,所以我不知道它有多好用,但你可能还是想尝试一下:
http://www.leapbeyond.com/ric/TSvnPD/
更新:在TortoiseSVN 1.9及更高版本中,您无需任何其他工具即可完成此操作:
Settings Dialog
- > Saved Data
,然后点击文字“Clear...
”右侧的“Authentication Data
”按钮。弹出一个新对话框,显示所有存储的验证数据,您可以在其中选择要清除的验证数据。而不是清除,按住 Shift
和 Ctrl
按钮,然后按下列表中的double click
。对话框中显示一个新列,以明文形式显示密码。
答案 1 :(得分:48)
在~/.subversion/auth/svn.simple/
中,您应该找到一个具有长十六进制名称的文件。密码以明文形式存在。
如果有多个文件,你需要找到一个引用服务器的文件,你需要密码。
答案 2 :(得分:32)
对于那些对Intelli-J等应用程序感兴趣的OS X解决方案,其中授权由OSX存储:
比尝试解密密码容易得多: - )
答案 3 :(得分:3)
只需使用此解密器来解密您本地缓存的用户名&密码。
默认情况下,TortoiseSVN将缓存的凭据存储在%APPDATA%\ Subversion \ auth \ svn.simple目录中的文件中。密码使用Windows Data Protection API加密,密钥与您的用户帐户绑定。此工具读取文件并使用API解密您的密码
答案 4 :(得分:1)
您在Ubuntu(12.04)中的SVN密码位于:
~/.subversion/auth/svn.simple/
然而,在较新的版本中,它们是加密的,正如早先有人提到的那样。要查找gnome-keyring密码,建议您使用' gkeyring'程序
要在Ubuntu上安装它 - 添加存储库:
sudo add-apt-repository ppa:kampka/ppa
sudo apt-get update
安装它:
sudo apt-get install gkeyring
按以下方式运行:
gkeyring --id 15 --output=name,secret
尝试使用不同的键ID来查找与您要查找的对匹配的对。感谢kampka的柔软。