我有 Putty,能够在 Windows 7 x64 客户端上使用 gssapi 来对抗 SSH 的 Kerberos 登录。即,它会转发您登录 Windows 时获得的票据。我不知道如何让 tortiseSVN 做同样的事情。我可以让它在我每次做任何事情时提示我输入我的凭据,并且它们有效,方法是在配置文件中将 neon 更改为 serf。但我需要它使用票据,这样我就不必不断输入我的用户名和密码。
如果 Tortise 不能做到这一点,有谁知道适用于 Windows 的 svn 客户端可以做到这一点?
答案1
如何使 GSSAPI 身份验证正常工作?
TortoiseSVN 安装的默认“neon”http 库与 GSSAPI 存在问题,但“serf”库应该可以正常工作。TSVN 与这两个 DAV 库都链接在一起,您可以在 Subversion 服务器文件中配置使用哪一个。转到 TSVN->设置->网络->Subversion 服务器文件->编辑。
- 在TortoiseSVN->Settings->Network->Subversion服务器文件中,点击编辑按钮。
在文件底部,通过编辑 http-library 条目来更改 [global] 部分(如果缺失则添加)
[全局]
http-library = serf请注意,此更改将影响您电脑上的所有 Subversion 客户端。
然而,你操作的 DAV 服务器还必须理解 GSSAPI/SPNEGO 并有权访问适当的 keytab (HTTP/[电子邮件保护])。
答案2
能够在 WebDAV 上成功通过 Kerberos SPNEGO 进行身份验证的最新 TortoiseSVN 版本是 1.6(我不确定确切的次要版本 1.6.x,因为它已停止工作)
我的 Subversion WebDAv 服务器已针对 SPNEGO 正确配置,并且由于在编译时在 serf 中正确设置了所需的配置选项,因此 SSO 可以在使用 WanDisco Subversion 1.8 包的 Linux 上正常运行。
目前(2014 年中),我尚未发现 Windows 上任何最新客户端(无论是图形客户端还是命令行客户端)能够正确使用 GSSAPI 进行 SPNEGO 身份验证。这项工作仍在进行中。