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

Windows下GitHub自定义SSH密钥名克隆报公钥权限拒绝解决方法

问题根因

SSH客户端默认仅自动读取~/.ssh/路径下id_rsa、id_ed25519等默认命名规则的私钥,自定义命名的密钥不在默认扫描范围内,连接GitHub时客户端找不到匹配的私钥,就会抛出Permission denied (publickey)报错。你把密钥改回默认名就能正常使用,也印证了这个问题。

操作步骤
  • 配置SSH规则文件
    进入Windows用户目录下的.ssh文件夹,默认路径为C:\Users\你的系统用户名\.ssh。如果文件夹内没有名为config的无后缀文件,手动新建一个(注意不要存成config.txt这类带后缀的文件,否则SSH无法读取配置)。
    在config文件中写入以下配置:
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/你给GitHub密钥设置的自定义私钥文件名
      IdentitiesOnly yes
    
    配置项说明:
    • IdentityFile指定连接github.com时要使用的私钥路径,直接替换成你自己的私钥文件名即可,比如你私钥叫gh_rsa就填~/.ssh/gh_rsa
    • IdentitiesOnly yes会强制SSH仅使用指定的密钥做认证,避免客户端自动遍历其他密钥触发GitHub的认证次数限制
  • 验证配置有效性
    打开Git Bash执行测试命令:
    ssh -T git@github.com
    
    如果返回信息包含你的GitHub用户名,提示认证成功,就说明配置生效。
  • 正常使用Git操作
    配置完成后所有针对GitHub的clone、pull、push操作都会自动调用你指定的自定义名称密钥,不需要每次手动把私钥添加到ssh-agent,也不会占用默认的id_rsa密钥名。后续如果需要给其他Git平台(比如GitLab、自建Git服务)配置独立密钥,只需要在config文件里追加对应Host的配置段即可,多密钥完全不会互相冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 12:01:04