You need to enable JavaScript to run this app. 同一设备使用两个GitHub账号执行git推送时报无法读取远程仓库错误
优惠活动
大模型
产品
解决方案
定价
更多

同一设备使用两个GitHub账号执行git推送时报无法读取远程仓库错误

多GitHub账号SSH配置报错排查

核心报错本质

Could not resolve hostname github-kumaramit114920的报错,是SSH客户端未读取到你自定义的github-kumaramit114920主机别名配置,将该字符串直接作为公网域名发起DNS解析,自然无法获取对应IP导致失败,和仓库存在性、访问权限无直接关联。

分步解决操作

  • 校验SSH配置的存放路径与权限
    • 配置文件必须放在对应系统的SSH默认目录下:Linux/macOS路径为~/.ssh/config,Windows路径为C:\Users\你的系统用户名\.ssh\config,路径错误会导致SSH完全忽略该配置文件。
    • Linux/macOS环境下需给配置文件设置严格权限,执行命令:chmod 600 ~/.ssh/config,权限过松会被SSH判定为不安全直接跳过读取。
    • 检查配置文件的语法格式,正确格式参考如下,注意字段后不要加多余标点、不要混用中文符号:
      # 账号1:对应kumaramit114920的GitHub身份
      Host github-kumaramit114920
        HostName github.com
        User git
        IdentityFile ~/.ssh/对应账号的私钥文件路径
        IdentitiesOnly yes
      
      # 账号2:第二个GitHub账号的配置
      Host 自定义第二个账号的别名
        HostName github.com
        User git
        IdentityFile ~/.ssh/第二个账号的私钥文件路径
        IdentitiesOnly yes
      
  • 校验本地仓库的远程地址匹配性
    • 在本地仓库根目录执行git remote -v,查看当前绑定的远程仓库地址,正确格式应为git@github-kumaramit114920:你的GitHub用户名/仓库名.git
    • 如果地址里的主机名和SSH配置里定义的Host名不完全一致,执行命令修正:
      git remote set-url origin git@github-kumaramit114920:kumaramit114920/你的仓库名.git
  • 提前验证SSH连通性
    • 修正配置后不要直接执行推送,先执行连通性验证命令:ssh -T git@github-kumaramit114920
    • 看到返回Hi kumaramit114920! You've successfully authenticated, but GitHub does not provide shell access的提示,就说明配置已生效,再执行git push origin master即可正常推送。
    • 如果验证阶段仍报域名解析错误,可执行ssh -v git@github-kumaramit114920查看详细连接日志,定位具体是配置读取失败、路径错误还是其他问题。

高频踩坑提醒

  • 多账号配置必须添加IdentitiesOnly yes字段,否则SSH会默认读取第一个找到的私钥发起认证,即使主机名解析正常也会出现403权限错误。
  • Windows系统需注意,不要将配置文件存为带.txt后缀的config.txt,必须是无后缀的纯config文件。
  • Host别名仅为本地配置匹配标记,不能添加多余的域名、端口或路径字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 00:24:03