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

无法访问GitHub仓库:SSH公钥权限被拒问题求助

SSH密钥未匹配GitHub的问题排查与解决

问题原因

  1. Host规则匹配错误:你的配置中Host *.github.com仅匹配带子域名的GitHub地址(如gist.github.com),直接连接git@github.com时不会触发该规则,SSH会使用默认全局配置,不会加载指定的自定义密钥。
  2. 配置参数大小写不一致:全局配置里是UseKeychain yes(小写c),而GitHub段写的是IgnoreUnknown UseKeyChain(大写C),这会导致SSH解析配置时出现异常,忽略部分规则。
  3. SSH代理缓存旧密钥:SSH Agent可能已经缓存了之前用于Bitbucket的密钥,连接时会优先尝试缓存中的密钥,而非你指定的新密钥。

解决步骤

  • 修正Host匹配规则:将配置中的Host *.github.com修改为Host github.com,确保直接连接github.com时触发该规则:
    Host *
    UseKeychain yes
    
    Host github.com
      AddKeysToAgent yes
      IdentityFile ~/.ssh/eastonit_wordpress
      IgnoreUnknown UseKeychain
    
  • 重置SSH代理并加载新密钥:
    1. 清除代理中缓存的所有密钥:
      ssh-add -D
      
    2. 将自定义密钥添加到代理:
      ssh-add ~/.ssh/eastonit_wordpress
      
  • 验证配置生效:重新执行命令查看SSH连接过程,确认已加载指定密钥:
    ssh -Tv git@github.com
    
    输出中如果出现debug1: Offering public key: /Users/你的用户名/.ssh/eastonit_wordpress,说明配置已生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:06:01