有没有办法从本地缓存中恢复密码?密码必须存储在某个地方,因为我可以运行
svn co http://my.svn.server/foo
但我自己丢失了密码。我必须重置它还是可以(以及如何)找到和解密密码?我在 Windows 上主要使用 CLI SVN,有时会切换到 TortoiseSVN 或 IntelliJ Idea SVN。
有没有办法从本地缓存中恢复密码?密码必须存储在某个地方,因为我可以运行
svn co http://my.svn.server/foo
但我自己丢失了密码。我必须重置它还是可以(以及如何)找到和解密密码?我在 Windows 上主要使用 CLI SVN,有时会切换到 TortoiseSVN 或 IntelliJ Idea SVN。
在 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
在列表上。对话框中将显示一个新列,其中清楚地显示密码。
您应该在~/.subversion/auth/svn.simple/
其中找到一个具有长十六进制名称的文件。密码以明文形式存在。
如果有多个文件,您需要找到一个引用您需要密码的服务器的文件。
对于那些对 OS X 解决方案感兴趣的人,比如 Intelli-J,授权由 OSX 存储:
比必须尝试解密密码要容易得多:-)
只需使用此解密器即可解密您本地缓存的用户名和密码。
默认情况下,TortoiseSVN 将缓存的凭据存储在 %APPDATA%\Subversion\auth\svn.simple 目录中的文件中。密码使用 Windows 数据保护 API 加密,密钥与您的用户帐户相关联。此工具读取文件并使用 API 解密您的密码
您在 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 的柔软。