OSX CLI 和 WinXp TortoiseSVN 出现“svn:无法协商身份验证机制”,但 Linux CLI 可以运行

OSX CLI 和 WinXp TortoiseSVN 出现“svn:无法协商身份验证机制”,但 Linux CLI 可以运行

我有一个可以正常工作的 Subversion 服务器,它使用 passwd 文件以明文形式存储密码。我的需求发生了变化,现在需要对密码进行加密。我按照书上说的做了一切,使用 SASL,至少我相信是这样,但现在只有 Linux 命令行可以进行身份​​验证。我的 OSX 用户(也使用命令行)和我的 WinXp 用户(使用 TortoiseSVN)都出现错误。Linux 版本是 1.6.11。OSX 版本是 1.6.17。TortoiseSVN 版本是 1.7.4。

/opt/subversion/QRpage/conf/svnserve.conf:

[general]
anon-access = none
auth-access = write
realm = ABC

[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256

/etc/sasl2/svn.conf:

pwcheck_method: auxprop
auxprop_plugin: sasldb
sasldb_path: /etc/sasldb2
mech_list: DIGEST-MD5

然后我通过以下方式添加新用户:

saslpasswd2 -c -f /etc/sasldb2 -u ABC dacracot

但是例如 OSX 用户在尝试签出时会遇到此错误:

$ svn co svn://svn.nowhere.org/QRpage
svn: Cannot negotiate authentication mechanism

答案1

您的客户端也需要设置 SASL 摘要身份验证才能正常工作。有关如何为 Tortoise 设置此功能的信息,请参阅这里。是的,很痛苦。

svnserve 协议根本不是为加密或安全而构建的。请考虑使用 https 和 mod_dav_svn。

相关内容