是否将保存的TortoiseSVN身份验证移动到另一台计算机?

是否将保存的TortoiseSVN身份验证移动到另一台计算机?,svn,authentication,tortoisesvn,passwords,recovery,Svn,Authentication,Tortoisesvn,Passwords,Recovery,是否有一种方法可以在机器之间将已保存的OrtoiseSVN登录/密码移动到网络存储库?刚买了一台新机器,知道我的用户名,但不记得我登录到存储库 我知道TortoiseSVN在%appdata%\Subversion\auth目录下保存了一些身份验证信息 移动到我在svn.simple找到的文件上;我在里面看到我的用户名是明文的,但密码是加密的。我还在文件中看到了“wincrypt”,这就是调用的加密功能 通常我会让SVN管理员帮我重新设置,但他和SVN的另一位管理员一样,在下周之前都会外出度假

是否有一种方法可以在机器之间将已保存的OrtoiseSVN登录/密码移动到网络存储库?刚买了一台新机器,知道我的用户名,但不记得我登录到存储库

我知道TortoiseSVN在%appdata%\Subversion\auth目录下保存了一些身份验证信息

移动到我在svn.simple找到的文件上;我在里面看到我的用户名是明文的,但密码是加密的。我还在文件中看到了“wincrypt”,这就是调用的加密功能

通常我会让SVN管理员帮我重新设置,但他和SVN的另一位管理员一样,在下周之前都会外出度假

我可以深入了解龟甲的来源,看看身份验证是如何完成的,但必须有一种更简单的方法。如果有用的话,我可以在旧机器的成功身份验证上运行Wireshark。

根据,TortoiseSVN将凭据存储在
%appdata%\Subversion\auth
的子文件夹中:

  • svn.simple
    包含基本身份验证的凭据(用户名/密码)
  • svn.ssl.server
    包含ssl服务器证书
  • svn.username
    包含仅用于用户名身份验证的凭据(无需密码)

我想你可以试着把这些文件夹复制到另一台机器上。

我想你可能不希望这样做,因为这意味着任何人都可以复制一些文件,并且可以使用你的SVN帐户进行更改。也许这是最好的,这是不可能的,事情更安全


相反,您应该在内部制定一个更好的密码管理策略,这样您就不会依赖周围的某些人来进行这类事情(例如,密码)。

凭据使用windows加密API加密,使用登录用户的数据进行加密。这意味着加密基于您的Windows登录帐户,因此无法复制到另一台计算机,即使您在那里设置了具有相同用户名和密码的用户。

已解决!事实证明,解决这个问题相当简单

Wireshark就是答案。捕获了我的旧机器和存储库主机之间的通信,从Ortoisesvn启动了repo浏览器。然后,我在对话中运行了“跟随TCP流”,并发现以下行:

授权:基本ZIZEDPPC0F3ZXNVBWU=

下面是用于解码的Powershell脚本:
$basic=“ZHIzeDppc0F3ZXNvbWU=“
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($basic))

返回纯文本: uname:pwd

见以下答案:

如果您仍然可以访问旧计算机和Windows用户帐户,则可以使用第三方“TortoiseSVN密码解密器”实用程序提取密码


Wireshark是另一个很好的选择,但我不相信它对SSL存储库有帮助。

在OrtoiseSVN 1.9及更高版本中,您无需任何其他工具即可完成:


设置对话框->保存的数据,然后单击文本“身份验证数据”右侧的“清除…”按钮。弹出一个新对话框,显示所有存储的身份验证数据,您可以在其中选择要清除的数据。按住Shift和Ctrl键,然后双击列表,而不是清除。对话框中会显示一个新列,该列以清晰的形式显示密码。

我认为身份验证是使用用户的Windows登录凭据加密的,这使您无法实现所需的功能。如果您知道使用哪种加密方法以及在何处查找密钥,则可以解密身份验证;例如,有一个使用Windows Data Protection API进行解密的工具()是的,我已经试过了,但没有成功。还从3个位置复制了注册表项(2个HKCU+1个HKLM);整个%programfiles%\TortoiseSVN文件夹和2%appdata%文件夹(Subversion和TortoiseSVN)。仍然提示输入密码。您知道用于加密凭据的信息吗?DPAPICK无法使用旧机器的主钥匙工作;可能是另一种加密方法。CryptProtectData(),请参阅svn源代码:您甚至无法想象我需要多少,您上次的电话应答让我很开心!它工作得很好!非常感谢你!它起作用了!!非常感谢你。