TortoiseSVN不能保存身份验证信息

62

TortoiseSVN 没有保存我的身份验证信息,即使我勾选了保存身份验证复选框,每次访问时都要求我输入用户名和密码。

我该如何解决这个问题?


4
你可以把答案标记为“已采纳”吗? - pugmarx
12个回答

81

我遇到了同样的问题,我只是删除了这个文件夹:

%APPDATA%\subversion\auth\

下次我登录时,它被重新创建,并且我的密码已正确保存。


是的,在我更改了密码之后,我不得不删除提到的目录,以使ToroiseSVN保存新密码。 - Anton
这对SourceForge没有用。它一直在要求我输入密码。 - posfan12

58
如果您通过ssh访问您的存储库,那么您可以使用以下解决方案保存您的ssh凭据:

The easiest way to do this is to right click in Windows Explorer, select Tortoise > Settings. Then in the Settings window select Network. Then in the SSH client set use the Tortoise SSH client, TortoisePlink, to use your username and password. For example:

[DRIVE LETTER]:\[DIR]\TortoiseSVN\bin\TortoisePlink.exe -l foo -pw bar

source

例如,我的是
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l *mysvnusername* -pw *mysvnpassword*

我尝试过这个方法,TortoiseSVN不再要求您输入密码进行更新或提交。但这样做有一定的安全风险,因为您的ssh密码以明文形式存储。


4
如果乌龟试图将整个内容加上引号,请移除引号。 - Jared Beck
3
虽然这样做会少很多麻烦,因为你不需要在后台运行外部进程,但要注意的是,如果你经常使用多个具有不同用户名/密码的存储库,你可能需要使用Pageant方式。 - Jessica Brown
2
如果您的路径中有空格并且需要使用引号,则只需将其放在路径周围即可:"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l mysvnusername -pw mysvnpassword - tristanbailey
谢谢!在Win 7 64位上,1.8版本运行得非常好。 - krinker
建立身份文件并使用它进行身份验证比使用密码更安全。 - jpaugh
没问题。感谢 :) - Pradip Das

20
如果你正在使用 svn+ssh:// 访问你的代码库,那么 SVN 不涉及身份验证,因此无法保存身份验证信息。在这种情况下,你需要使用 SSH 工具如 pageant 来存储你的身份验证数据。

1
这有点繁琐。来自Tortoise网站的链接是一个通用方法:http://tortoisesvn.net/ssh_howto.html,特别是如果您正在使用SourceForge,请遵循此说明https://sourceforge.net/p/forge/community-docs/TortoiseSVN/。基本上它涉及使用puttygen创建ssh密钥,将公钥上传到ssh服务器,然后使用pageant加载私钥。请注意,每次使用Tortoise时都必须运行pageant(您可能考虑将其添加到Windows启动中)。 - Juancentro
SourceForge的说明链接已失效,我无法使用Google找到它们的替代品。 - posfan12

16

以下是我所采用的方法:在TortoiseSVN的“设置” > “保存的数据”中,单击“认证数据”附近的“清除”按钮。


1
问题已经为我解决了。谢谢! - jbandi
1
也适用于我。。谢谢 :) - Japan Trivedi
1
在Windows 7的64位系统上对我有效。谢谢。 - murphytalk
1
这是唯一对我有效的解决方案。谢谢! - Rajesh Kolappakam
1
也对我有用。Tortoise缓存了身份验证数据,删除%APPDATA%\subversion\auth\没有任何效果!非常感谢。 - real_paul

6

考虑到TortoiseSVN会在以下目录中保存身份验证信息:

# WindowsXp
"%APPDATA%"\subversion\auth
# or, for Windows7
"%APPDATA%"\Roaming\Subversion\auth

(见TortoiseSVN在Windows 7中保存密码缓存文件的位置?)

您可以检查这些目录是否存在任何权限问题(尝试在其中创建一个文件)。
可能是另一个进程阻止了对正确的身份验证文件的访问:尝试重新启动计算机,看看问题是否仍然存在。


6

前往Tortoise设置 > 保存的数据 > 认证数据
然后清除您想要的任何内容。


3

在Windows 7上,这对我很有帮助。只需删除以下目录并重新启动TortoiseSVN:C:\Users[user]\AppData\Roaming\Subversion\auth


2

我曾经也遇到了同样的问题...

不得不在我的%APPDATA%\subversion\servers中添加以下内容:

store-passwords = yes

(我还为了保险起见添加了 store-auth-creds = yes store-plaintext-passwords = yes)


1

我发现最简单/最好的方法是使用类似以下URL的方式检出存储库:

svn+ssh://userid@host.com/path/to/repo

将用户名放在那里,可以使TortiseSVN/Plink自动在未来使用它。与Pageant相结合,您无需担心任何事情。而且它不是全局的,所以您可以为不同的存储库设置不同的用户名。

0

以下是我如何使用ssh连接TortoiseSVN到一个本地Linux服务器而不需要登录:

1. 设置(不确定此部分是否必要)

1.1. 打开TortoiseSVN设置(右键单击文件,tortoiseSVN > 设置)

1.2. 在设置中,选择网络

1.3. 在SSH下,SSH客户端中输入:"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"

1.4. 点击确定

1.5. 安装putty

2. 生成密钥

2.1. 运行“C:\Program Files (x86)\PuTTY\puttygen.exe”

2.2. 选择ssh-2 rsa

2.3. 点击生成(在窗口中移动光标以生成密钥)

2.4. 将光标移动到完整位置(完成栏应完全填满)

2.5. 添加关键注释(描述或用户名)

2.6. 选择保存公钥

2.7. 将其保存到您创建的文件中(例如:文档>ssh>描述公钥)

2.8. 选择保存私钥

2.9. 将其保存到您创建的文件中(例如:文档>ssh>描述私钥)

2.10. 从窗口中选择并复制密钥

2.11. 将其保存到您创建的文件中(例如:文档>ssh>描述授权密钥.txt

3. 设置服务器端

3.1. 使用Putty登录服务器并以用户身份登录

3.2. 在主目录中,进入或创建.ssh(~/.ssh

3.3. 打开/创建授权文件 (~/.ssh/authorized_keys)

3.4. 从putty gen窗口中复制在description-authorized-key.txt文件中保存的文本

3.5. 将文本粘贴到authorized_keys文件中

3.6. 保存并退出

3.7. 运行chmod 600 authorized_keys

3.9. 确保subversion服务器正在运行 (检查方法: ps -e | grep svnserve, 启动方法: svnserve -d)

3.8. 结束putty会话

4. 设置客户端

4.1. 在客户端/Windows/TortoiseSVN上打开putty

4.2. 转到Connection > SSH > Auth

4.3. 在 用于身份验证的私钥文件 中,输入完整路径 到 description-private-key 文件(例如:C:\Users\<user name>\Documents\ssh\description-private-key.ppk

4.4. 进入 会话

4.5. 在 已保存的会话 下,选择 默认设置

4.6. 选择 保存,并选中默认设置

4.7. 防火墙可能需要禁用或给予例外

4.8. 进入一个目录以放置 SVN 检出(右键单击 > SVN Checkout...

4.9. 在 存储库 URL 中,使用 svn+ssh://username@...(例如:svn+ssh://jdoe@172.217.0.4/path/to/repo

参考资料:

http://www.tecmint.com/ssh-passwordless-login-with-putty/

https://kb.wisc.edu/education/page.php?id=45394

https://kb.wisc.edu/education/page.php?id=45394

https://tortoisesvn.net/ssh_howto.html

https://dev59.com/HHRC5IYBdhLWcg3wG9Xo#2356647


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接