当我通过 ssh 登录到运行 OSX 10.6 的 mac mini 服务器并使用 svn 时,我收到以下消息:
注意!您的身份验证领域的密码:
只能以未加密的形式存储到磁盘!建议您配置系统,以便 Subversion 可以存储加密密码(如果可能)。请参阅文档了解详细信息。
您可以通过将‘/Users/xxxxxxxx/.subversion/servers’中的‘store-plaintext-passwords’选项的值设置为‘yes’或‘no’来避免将来出现此警告。
但我不想以未加密的形式存储密码。我找到了一些关于如何在 Linux 中使用 GNOME 钥匙串来解决此问题的详细信息,但没有找到关于如何使用 macosx 的钥匙串的详细信息。
有人有什么想法吗?
多谢!
答案1
10.6 附带的 Subversion 客户端可以将凭据存储在钥匙串中,但我认为您必须以图形方式登录才能访问钥匙串。如果“登录”钥匙串的密码与您实际用于登录的密码相同,则当您以图形方式登录时,该钥匙串会自动解锁,这可能是原因。
如果您通过 Subversion 服务器上的 Apache 配置 Kerberos,也可以使用 Kerberos 进行身份验证。不过,我认为您需要编译自己的 Subversion 客户端副本。
答案2
我知道这个问题有点老了,但我刚刚找到了解决方案...您可以在执行 svn up 之前通过调用 security(1) 通过 SSH 远程执行此操作。
$ security unlock-keychain ~/Library/Keychains/login.keychain
password to unlock /Users/username/Library/Keychains/login.keychain:
$ svn up
答案3
我认为这取决于您使用的 svn 实现。据我所知,使用 open.collab.net 的版本时它可以工作: