【发布时间】:2013-12-30 20:36:37
【问题描述】:
以前,使用我的 TFS2012 服务器,使用 git tf,使用 Kerberos 单点登录(凭据显示在 klist)登录的 Linux 用户不必输入他的用户名或密码。
TFS2013 使用 Git 进行源代码控制,任何push/fetch 命令都需要用户名和密码。这可以通过将remote URL 修改为http://user:password@server/... 来缓解,但这是不安全的,并且需要在密码更改时进行更新。有没有办法使用 Kerberos 凭据进行 TFS2013 git HTTP 身份验证?
注意:稍后检查,用户名和密码不是必需的,只是要求。命中普通返回将导致必须回退到 kerberos 身份验证,该身份验证有效。我如何让 git 尝试 kerberosfirst?
【问题讨论】:
-
您可以使用 gpg 加密的
.netrc文件:stackoverflow.com/a/18362082/6309,而不是将密码以纯文本形式保存在您的 https 网址中。 -
您的 TFS2013 服务器是否配置为使用 Kerberos?还是处于 NTLM 模式(默认)?
-
是的,服务器配置为使用kerberos。
-
我问了一下,这应该是默认的 git 行为。它要求您选择使用不同的凭据。如果您不提供,则使用您的 kerberos 凭据。 TFS 在这里没有做任何特别的事情,是 Git 表现得“奇怪”。
-
是的,我在问是否有任何方法可以改变 git 中的这种行为。