从本地缓存中恢复SVN密码


84

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

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

但是我自己忘记了密码。我需要重设密码吗?或者可以(以及如何)查找和解密密码?我在Windows上主要使用CLI SVN,有时会切换到TortoiseSVN或IntelliJ Idea SVN。



6
这不是重复的,TortoiseSVN是另一种用于svn的软件,并且可能以完全不同的方式缓存密码。
斯蒂芬·保罗

Answers:


181

在Windows上,Subversion将auth数据存储在中%APPDATA%\Subversion\auth。但是,密码以加密方式存储,而不是以明文形式存储。

您可以解密这些密码,但前提是您必须以与保存身份验证数据相同的用户身份登录Windows。

甚至有人写了一个工具来解密它们。从来没有亲自尝试过该工具,所以我不知道它的效果如何,但是您可能还是想尝试一下:

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

更新:在TortoiseSVN 1.9和更高版本中,无需任何其他工具即可完成此操作:

Settings Dialog-> Saved Data,然后单击Clear...文本“ Authentication Data”右侧的“ ”按钮。弹出一个新对话框,显示所有已存储的身份验证数据,您可以在其中选择要清除的身份验证数据。而不是清除,按住ShiftCtrl按钮,然后double click在列表中。对话框中会显示一个新列,其中以清晰的形式显示了密码。


链接的程序还可以与通过Eclipse创建和管理的repo一起使用。从这个意义上说,程序的名称有点误导。
Jens Wegar 2011年

是的,这个名字具有误导性。默认情况下,IntelliJ也使用此位置。似乎他的位置适合所有svn客户共享。
Mike Nelson

@Stefan-我已经尝试了上面的TSvnPD,并且能够找回密码。谢谢
Jagadeesh

简短说明:只需exe通过链接下载,就可以完成。
wonsuc

1
设置对话框->保存的数据等。提示对我有用(我不能只是在工作中下载软件)。谢谢!
user1976

48

在其中~/.subversion/auth/svn.simple/应该找到一个具有十六进制长名称的文件。密码以明文形式存在。

如果有多个文件,则需要找到一个引用服务器的文件,并需要密码。


10
svn.simpleSubversion 1.6开始,存储在其中的密码被加密。
dolmen

1
我的参考gnome-keyring,但看不到我的钥匙圈中的任何相关内容
问号

5
如果您有对gnome-keyring的引用,则您的密码可能会简单地存储为“网络密码”。
死于

32

对于那些对像Intelli-J这样的应用程序(由OSX存储授权)的OS X解决方案感兴趣的人:

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

比必须尝试解密密码要容易得多:-)


1
这是一个节省!谢谢。
曼尼2015年

1
哇,以前不知道 非常感谢!
drg 2016年

5

只需使用此解密器即可解密您本地缓存的用户名和密码。

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

svn密码解密器


这是最简单的
塔哈·雷曼·西迪基

1

您在Ubuntu(12.04)中的SVN密码位于:

~/.subversion/auth/svn.simple/

但是,在较新的版本中,它们是加密的,就像之前有人提到的那样。要查找gnome密钥密码,建议您使用' 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的帮助。


2
在Ubuntu上,使用默认的“密码和密钥”实用程序来显示所有密码就足够了。我非常惊讶在那里存储了多少用户帐户和密码!有助于找出被遗忘的SVN密码。
shadyyx
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.