88

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

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

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

4

5 回答 5

202

在 Windows 上,Subversion 将身份验证数据存储在%APPDATA%\Subversion\auth. 然而,密码是加密存储的,而不是以明文形式存储的。

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

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

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

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

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

于 2011-05-07T06:30:04.563 回答
49

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

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

于 2011-05-06T14:14:56.863 回答
32

对于那些对 OS X 解决方案感兴趣的人,比如 Intelli-J,授权由 OSX 存储:

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

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

于 2013-01-23T01:29:15.277 回答
6

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

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

svn密码解密器

于 2017-04-06T06:05:50.483 回答
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 的柔软。

于 2014-05-23T10:41:34.707 回答