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

安装Zscaler后MacOS下VSCode内置Git报主机密钥验证失败如何解决?

问题根因确认

你提到的终端需要手动输入yes的主机密钥变更提示,就是VSCode内置Git调用失败的直接原因:VSCode内置SCM功能调用Git时运行在非交互模式,无法响应交互式确认输入,遇到主机密钥校验不匹配的场景会直接返回host verification key failed错误。
该问题确实与Zscaler的流量中转机制相关:Zscaler会对SSH流量做代理转发,你访问内部GitHub站点的流量实际先到达Zscaler的代理节点,所以返回的SSH主机密钥和GitHub内部站点的原始密钥不一致,才会触发密钥不匹配的告警。

解决方案

方案1:配置SSH规则永久规避告警(推荐)

  • 首先打开系统终端,执行一次任意Git操作(比如git fetch),出现确认提示时输入yes,此时对应的主机密钥会被自动写入~/.ssh/known_hosts文件,后续单次固定IP的代理节点场景下,终端和VSCode内置Git都不会再弹出确认提示。
  • 如果Zscaler代理节点IP不固定,输入yes后仍反复弹出告警,可以修改SSH配置关闭对应站点的主机IP校验:
    打开~/.ssh/config文件(不存在则手动新建),添加如下配置:
    Host <替换为你的GitHub内部站点域名>
        CheckHostIP no
        StrictHostKeyChecking accept-new
    
    保存配置后生效,SSH会自动忽略该站点的IP地址变更带来的密钥校验告警,首次遇到新的有效密钥会自动写入信任列表,不需要手动确认。

方案2:临时关闭Git SSH密钥校验(不推荐,仅用于临时测试)

如果仅需要临时使用VSCode内置Git功能,可以执行如下命令关闭全局的SSH主机密钥校验:

git config --global core.sshCommand "ssh -o StrictHostKeyChecking=no"

该方案会降低SSH访问的安全性,测试完成后建议执行如下命令恢复配置:

git config --global --unset core.sshCommand

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:54:05