【发布时间】:2020-03-12 21:28:12
【问题描述】:
我使用 TFS 进行源代码控制,当我在新机器上使用 git 命令行时,我需要手动保存凭据管理器。否则,我会收到“身份验证失败”
除了在凭证管理器中预定义凭证之外,还有其他选择吗?
目前来自 CentOS 7 的案例:
【问题讨论】:
标签: linux git tfs credential-manager
我使用 TFS 进行源代码控制,当我在新机器上使用 git 命令行时,我需要手动保存凭据管理器。否则,我会收到“身份验证失败”
除了在凭证管理器中预定义凭证之外,还有其他选择吗?
目前来自 CentOS 7 的案例:
【问题讨论】:
标签: linux git tfs credential-manager
Git 凭据管理器,仅用于提供安全的 Git 凭据存储。可以在凭证管理器中预定义凭证。
但是对于macOS and Linux,并没有使用凭证管理器,
我们建议使用 SSH 密钥 向 Azure DevOps 进行身份验证, 不是凭据管理器。
SSH 公钥认证使用一对生成的加密密钥。公钥是共享的,用于加密消息。私钥在您的系统上安全可靠地保存,用于读取使用公钥加密的消息。
更多详情请看我们的官方教程--Use SSH key authentication
更新
此外,您还可以使用 PAT 令牌访问 git 存储库。
要在使用 Git 时通过 PAT 进行身份验证,您可以使用它作为密码。用户名可以是任何东西,因为您的身份由 PAT 标识。例如:
或者:
git clone https://anything:<PAT>@dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName
更多详情请看这个link。
至于如何使用PAT,可以参考——Authenticate access with personal access tokens
注意:这仅适用于 TFS2017 及更高版本。此外,建议您在使用 Azure DevOps Server 时关闭 IIS 基本身份验证。在您的 Windows 计算机上启用 IIS 基本身份验证后,它会阻止您使用个人访问令牌 (PAT) 作为身份验证机制。
【讨论】: