Mac上的Subversion - 拒绝从钥匙串获取密码

时间:2009-03-19 11:52:36

标签: svn macos keychain

在Mac OS X Leopard上 - 当我尝试从终端访问远程存储库时,它总是要求: 1.密码 2.用户名 3.密码(再次)

显示消息:“身份验证领域:http://svn.myserver.com:80 Subversion”

我已经检查过,我的凭据存储在Keychain中,SVN可以访问它们。为什么不使用它们?

8 个答案:

答案 0 :(得分:5)

我通过递归更改subversion身份验证目录的所有者来解决这个问题:

sudo chown -R myuser:staff ~/.subversion/auth/

(之前的用户:群组对设置为root:staff

您还需要在subversion配置文件中设置password-stores = keychain

~/.subversion/config

答案 1 :(得分:4)

默认情况下,svn(以及大多数Unix应用程序)将您的本地用户名作为远程登录的用户名传递。我怀疑您在Subversion服务器上的帐户名称与您的本地帐户名称不同。因此,第一次输入Subversion密码时身份验证失败,而svn就像大多数Unix应用程序一样要求输入远程用户名和密码并尝试重新进行身份验证。您可以使用--username选项将您的远程用户名传递给svn

svn --username [remote_username] ...

答案 2 :(得分:3)

我通过删除~/.subversion/auth/svn.simple中的相应身份验证文件解决了这个问题(使用grep找到合适的身份验证文件,因为它们被命名为搞笑)。然后在该存储库中的下一个svn之后(svn询问了用户名和密码),它现在正常工作。

答案 3 :(得分:2)

从ssh窗口运行svn命令时遇到了同样的问题。基于上面的一些评论,我删除了〜/ .subversion / auth / svn.simple下的相关文件,然后直接在OSX框上从终端会话运行我的svn命令,弹出一个窗口,询问我是否要授予权限svn读我的钥匙串。我永远授予它权限,现在我的ssh窗口中的svn命令工作,而不提示我输入密码。

答案 4 :(得分:1)

您能提供更多信息吗?在Subversion 1.4.x之前,没有添加密钥的密钥链缓存。你有任何错误吗?我们需要更多信息来帮助您。

答案 5 :(得分:1)

我在OS X中遇到了类似的问题,其中SVN只是拒绝使用我存储的凭据,尽管他们在钥匙串中明确注册并授予svn访问权限。

原来我的~/.subversion/auth目录有奇怪的权限。

sudo chmod 777 ~/.subversion/auth解决了我的问题。

答案 6 :(得分:0)

我没有答案,但我注意到如果我在本地登录我的机器,那么subversion将读取钥匙串密码,但是如果我从删除机器ssh到mac,那么subversion将无法读取钥匙串密码。

似乎ssh登录将svn命令放在一个无法访问钥匙串的环境中......

这可能是你的问题吗?

答案 7 :(得分:0)

从线程中尝试了很多东西,这对我有用:

    password-stores = keychain
  • 取消注释~/.subversion/config
  • 签出/更新您的仓库,输入凭据。
  • 打开钥匙串应用程序,在登录钥匙串中找到包含您的存储库地址的行,双击它(或每个),选择“访问控制”选项卡,然后选中“允许所有应用程序访问此项目”

那次颠覆之后,终于记住了我的凭据。

当我从默认终端切换到iTerm2 + zsh +哦,我的zsh时,这个问题就开始了