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

Windows11下Git Bash执行ssh-add遇Permission denied问题求助

解决Git for Windows SSH认证权限拒绝与密钥识别问题

问题核心

  • Windows 11 21H2环境,Git for Windows v2.41.0.2集成到Windows Terminal
  • 执行ssh-add ~/.ssh/gitWIN时提示bash: /usr/bin/ssh-add: Permission denied
  • ssh -Tv git@github.com显示SSH无法识别自定义命名的密钥,最终认证失败
  • 此前旧版本Git可正常使用,重装最新版后出现问题

分步解决方案

1. 修复ssh-add权限拒绝

  • 确保以普通用户身份启动Git Bash,避免用管理员权限运行导致文件权限错乱。
  • 检查ssh-add可执行文件权限:在Git Bash中执行
    ls -l /usr/bin/ssh-add
    
    确认输出权限为-rwxr-xr-x,若不符,重新安装Git时选择「仅为当前用户安装」,避免系统级权限冲突。
  • 排查Windows安全软件:暂时关闭实时保护,确认是否拦截了ssh-add进程。

2. 让SSH识别自定义命名密钥

SSH默认仅加载id_rsa、id_ed25519等标准命名的密钥,需通过配置文件指定自定义密钥:

  1. 进入.ssh目录:
    cd ~/.ssh
    
  2. 创建并编辑config文件:
    nano config
    
  3. 添加以下配置内容:
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/gitWIN_id_ed25519
    
  4. 保存退出后,设置文件权限(Git Bash环境下必须):
    chmod 600 config
    chmod 600 ~/.ssh/gitWIN_id_ed25519
    chmod 644 ~/.ssh/gitWIN_id_ed25519.pub
    

3. 重新验证SSH连接

  1. 启动ssh-agent:
    eval "$(ssh-agent -s)"
    
  2. 添加私钥:
    ssh-add ~/.ssh/gitWIN_id_ed25519
    
  3. 测试连接:
    ssh -Tv git@github.com
    
    若输出末尾出现Hi <你的GitHub用户名>! You've successfully authenticated...,则认证成功。

4. 额外排查点

  • 检查Windows系统权限:右键C:\Users\<你的用户名>\.ssh目录 → 属性 → 安全,确保仅当前用户拥有读写权限,删除其他用户的权限条目。
  • 确认gitWIN_id_ed25519.pub的内容已添加到GitHub账户的「SSH密钥」列表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 21:20:24