从本地缓存中恢复SVN密码

时间:2011-05-06 11:48:18

标签: svn password-recovery

有没有办法从本地缓存中恢复密码?密码必须存储在某处,因为我可以运行

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

但我自己丢失了密码。我是否必须重置它,或者是否可以(以及如何)查找和解密密码?我在Windows上使用的主要是CLI SVN,有时会切换到TortoiseSVN或IntelliJ Idea SVN。

5 个答案:

答案 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存储:

  1. 点击CMD + SPACE
  2. 输入“keychain”
  3. 打开钥匙串访问
  4. 在左侧的“钥匙串”下,选择“登录”
  5. 在右侧的“类别”下,选择“所有项目”
  6. 在搜索框的右上角,输入主机网址(例如svn.mycompany.com)
  7. 如果您选择让Mac记住您的登录凭据,则会显示您的钥匙串项目。
  8. 双击该项目,然后选中弹出对话框底部的“显示密码”复选框。您必须输入Mac登录才能显示密码。
  9. 比尝试解密密码容易得多: - )

答案 3 :(得分:3)

只需使用此解密器来解密您本地缓存的用户名&密码。

  

默认情况下,TortoiseSVN将缓存的凭据存储在%APPDATA%\ Subversion \ auth \ svn.simple目录中的文件中。密码使用Windows Data Protection API加密,密钥与您的用户帐户绑定。此工具读取文件并使用API​​解密您的密码

svn password decryptor

答案 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的柔软。