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等标准命名的密钥,需通过配置文件指定自定义密钥:
- 进入
.ssh目录:cd ~/.ssh - 创建并编辑
config文件:nano config - 添加以下配置内容:
Host github.com HostName github.com User git IdentityFile ~/.ssh/gitWIN_id_ed25519 - 保存退出后,设置文件权限(Git Bash环境下必须):
chmod 600 config chmod 600 ~/.ssh/gitWIN_id_ed25519 chmod 644 ~/.ssh/gitWIN_id_ed25519.pub
3. 重新验证SSH连接
- 启动ssh-agent:
eval "$(ssh-agent -s)" - 添加私钥:
ssh-add ~/.ssh/gitWIN_id_ed25519 - 测试连接:
若输出末尾出现ssh -Tv git@github.comHi <你的GitHub用户名>! You've successfully authenticated...,则认证成功。
4. 额外排查点
- 检查Windows系统权限:右键
C:\Users\<你的用户名>\.ssh目录 → 属性 → 安全,确保仅当前用户拥有读写权限,删除其他用户的权限条目。 - 确认
gitWIN_id_ed25519.pub的内容已添加到GitHub账户的「SSH密钥」列表中。
内容的提问来源于stack exchange,提问作者WobblyWindows
相关产品推荐
相关产品推荐

