You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AD切换NTLM V2后RHEL7执行Git Clone到AzureDevOps认证失败求助

解决RHEL7下AD NTLMv2模式Git Clone Azure DevOps认证失败的办法

方案1:升级Git及依赖库以支持NTLMv2

RHEL7默认Git版本偏旧,对NTLMv2的支持存在缺陷,可通过升级解决:

  • 启用EPEL仓库(未启用时):yum install epel-release
  • 安装兼容RHEL7的新版Git:yum install git224(可根据实际情况选择对应版本包)
  • 更新相关依赖库:yum update libcurl krb5-workstation
    升级完成后重新尝试Git Clone操作。

方案2:配置Git强制使用NTLMv2认证

通过Git配置强制指定认证版本:

  • 全局生效配置:git config --global http.ntlmv2 true
  • 单仓库生效配置:进入目标仓库目录后执行git config http.ntlmv2 true
    该配置会让Git在NTLM认证时直接使用v2版本,避免自动降级到v1。

方案3:改用Kerberos认证替代NTLM

AD启用NTLMv2后通常也支持Kerberos,这是更安全且RHEL7兼容更好的认证方式:

  1. 确保RHEL7已加入AD域,且/etc/krb5.conf中AD域配置正确
  2. 获取Kerberos票据:kinit username@AD.DOMAIN.COM(替换为实际域账号和域名)
  3. 配置Git使用Kerberos:git config --global http.sslVerify false(根据Azure DevOps证书情况调整),之后直接执行Git Clone即可自动使用票据认证

方案4:调整Samba客户端配置强制NTLMv2

修改/etc/samba/smb.conf文件,在[global]段添加以下配置:

client NTLMv2 auth = yes
client lanman auth = no
client plaintext auth = no

保存后重启Samba服务:systemctl restart smb nmb
此配置会强制Samba客户端优先使用NTLMv2,修复Git调用底层认证库时的版本匹配问题

注意:Kerberos认证是长期最优解,安全性和兼容性优于NTLM;方案1、2适合快速解决Git特定认证问题;方案4会影响所有依赖Samba的服务,需测试后再部署。

内容的提问来源于stack exchange,提问作者Akhil S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:52:10