【问题标题】:Kerberos authentication with Git in TFS2013在 TFS2013 中使用 Git 进行 Kerberos 身份验证
【发布时间】: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 中的这种行为。

标签: git kerberos


【解决方案1】:

如果 git 用于 HTTP(S) 的 libcurl 提供了空凭据,它将愉快地进行协商身份验证。当提示输入用户名和密码时,只需按两次 Enter。

保存空凭据,请将您的凭据助手设置为基本存储:

git config --global credential.helper store

然后在您与遥控器的下一次交互(推、拉、克隆等)时,只需按两次 Enter。

这个答案的功劳应该去diegowsthis answer

【讨论】:

    猜你喜欢
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多