macOS系统克隆Azure DevOps仓库时身份验证错误怎么解决?
Azure DevOps仓库克隆密码验证失败解决指南
问题诱因
- Azure DevOps默认要求更安全的验证机制,普通账号密码默认不支持Git HTTPS协议的验证请求,尤其是账号开启多因素认证(MFA)后,基础密码验证流程无法完成MFA校验,会直接被系统拒绝
- Mac系统钥匙串中如果存储过失效的Azure DevOps凭据,Git会优先调用旧凭据发起验证,也会导致验证失败
- 当前微软已逐步禁用账号密码直接用于代码仓库的交互验证,仅支持个人访问令牌(PAT)、SSH密钥、OAuth授权三种验证方式
解决方法
方法1:使用个人访问令牌(PAT)替代密码
- 登录Azure DevOps网页端,点击右上角用户头像,选择「个人访问令牌」
- 点击「新建令牌」,自定义令牌名称、过期时间,权限至少勾选
Code分类下的读取/读写权限,按需勾选其他权限 - 生成后复制保存令牌,注意:生成的PAT仅会在创建时显示一次,关闭页面后无法重新查看,丢失后需要重新生成
- 克隆仓库提示输入密码时,直接粘贴PAT作为密码输入即可完成验证
- 后续可将PAT存储到Mac钥匙串,避免每次操作都重复输入
方法2:使用SSH密钥免密验证
- 打开Mac终端,执行
ssh-keygen,按需设置密钥存储路径和密码,无特殊需求一路回车即可生成默认SSH密钥对 - 执行
cat ~/.ssh/id_rsa.pub,复制输出的公钥全部内容 - 回到Azure DevOps网页端,点击右上角用户头像,选择「SSH公钥」,粘贴公钥内容并自定义名称后保存
- 克隆仓库时选择SSH格式的仓库地址,即可直接免密完成克隆操作
方法3:通过Git凭据管理器自动完成OAuth验证
- 最新版Mac端Git已内置Git凭据管理器,执行
git config --global credential.helper osxkeychain开启钥匙串凭据存储 - 克隆时选择HTTPS格式的仓库地址,弹出授权窗口后按照引导完成Azure账号的登录验证(支持MFA校验),验证通过后凭据会自动存储到钥匙串,后续操作无需重复验证
旧凭据冲突解决
如果之前存储过失效凭据,先执行以下操作清理旧凭据:
- 打开Mac系统自带的「钥匙串访问」应用,搜索
dev.azure.com - 删除所有搜索结果中的Azure DevOps相关凭据
- 重新执行克隆操作,选择上述任意一种方式完成验证即可
内容的提问来源于stack exchange,提问作者kintela
相关产品推荐
相关产品推荐

