TortoiseSVN继续问我密码

时间:2011-06-03 10:30:32

标签: svn tortoisesvn

我在Linux机器上检查了源代码。我通过Samba连接到它。在Linux计算机上,SVNROOT设置为< mylogin> @< serverhost>。另外,SVN_SSH设置为指向系统管理员为我生成的私钥。在Linux上,我从不提示输入密码。系统管理员声称私钥负责处理它。

在我通过Samba访问的相同的目录中,我运行了TortoiseSVN。但是,它会不断提示我输入< mylogin>的密码。我的系统管理员说我没有密码,只有私钥。

如何处理TortoiseSVN,以免它提示我输入密码?

8 个答案:

答案 0 :(得分:30)

Tortoise SVN 右键单击桌面 - > Tortoise SVN->设置 - >保存的数据 - >验证数据(按下'清除'按钮)! 尝试再次登录!

答案 1 :(得分:14)

通过从TortoiseSVN菜单中选择“设置”,然后单击“网络”部分,可以配置“SSH客户端”命令行。添加“-i”后跟私钥的路径将使身份验证在Linux上运行。

默认的SSH客户端是一个名为“TortoisePlink”的程序,它使用的密钥文件格式与Linux上使用的OpenSSH客户端不同。您可以使用此处提供的puttygen工具将您的系统管理员提供的密钥转换为该格式http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

或者,您可以使用TortoiseSVN的OpenSSH客户端。例如,cygwin附带的ssh.exe工作正常。

答案 2 :(得分:11)

如果您没有密码,但有密钥(.ppk):

下载PuTTY并运行它。有趣的钥匙是:

  • 会话 - 主机名和端口
  • 连接 - 数据 - 自动登录用户名
  • 连接 - SSH - 验证 - 用于验证的私钥

现在保存您的配置 - 返回会话并输入例如MyServer进入已保存的会话文本字段,然后点击保存。在UX噩梦之后,您可以重新打开PuTTY,双击会话列表中的MyServer并登录而不提供任何内容。

TortoiseSVN连接字符串应该看起来像svn+ssh://MyServer/path/to/repo。长话短说,TortoiseSVN在PuTTY设置中检查MyServer字符串。

如果您没有密钥,但有密码:

转到TortoiseSVN - 设置 - 网络 - SSH客户端,并将其设置为:
"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l <username> -pw <password>

您的连接字符串应该像往常一样:svn+ssh://serverhostname/path/to/repo,没有username@

对于那些不给予f-ck并且现在想要它的人来说,这是不安全的。

答案 3 :(得分:6)

如果您使用密钥通过SSH连接,并且该密钥受密码保护,则不是SVN要求您输入密码,而是SSH(或Plink)。

SVN将进行多次呼叫,每次呼叫建立自己的连接,SVN对SSH的密码要求一无所知,因此无法缓存密码。

您可以使用SSH密钥代理来避免这种情况。例如,如果您使用的是PuTTY,那么请使用PuTTY's,Pageant。

答案 4 :(得分:2)

我写了自从遇到类似情况以来可能发生的事情。

似乎 PuTTY将使用与您尝试从Tortoise SVN连接的svn主机的域匹配的配置(如果存在)

因此,如果您的svn主机位于 myServer.de ,并且您在PuTTY中有一个名为 myServer.de 的配置,该配置不符合以下连接条件:您的SVN服务器,然后您尝试从Tortoise SVN访问 svn + ssh://myUser@myServer.de/blablabla PuTTY(默认情况下用于建立与服务器的SSH连接)将使用配置 myServer.de 而不是Tortoise SVN提供的配置。

它发生在我身上,这让我发疯!在我的情况下,它是在询问密码,因为PuTTY配置中提供的密钥已经过时了!!!

我希望它有所帮助。

问候!

答案 5 :(得分:1)

当您使用带密码的密钥(私钥)连接到svn + ssh时会发生这种情况。在这种情况下,Tortoise svn将使用ssh(就像我的是putty),它会提示你输入密码。

为了让它不要求您使用密码,您需要使用Pageant,在您向Pageant添加密钥后,它会保留该短语而不再向您询问...

要知道如何添加密钥,请阅读以下内容:

{{3}}

答案 6 :(得分:0)

如果您的回购路径类似于svn+ssh://server@hostname/path/...,并且您有密码可以访问它,则可以在如下网络设置中解决该问题:

设置->网络-> SSH客户端

C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -pw [password]

TortoiseSVN SSH Network Settings

答案 7 :(得分:-5)

TortoiseSVN在其“帮助”文档中有关于SVN和SSH的良好章节。基本点是您使用PuTTY进行连接。

所以你需要先正确配置PuTTY。