使用Git与SSH时遇权限拒绝问题求助
解决Windows内置OpenSSH下Git Clone权限拒绝问题
以下是针对该问题的排查和解决步骤:
检查Git克隆地址是否正确
确保你使用的是SSH格式的仓库地址,而非HTTPS地址。GitHub的SSH地址格式为git@github.com:<用户名>/<仓库名>.git,建议直接从仓库页面复制正确地址,避免手动输入错误。强制Git使用Windows内置的OpenSSH
可能Git默认调用了自带的SSH客户端,而非Windows内置版本,导致密钥不兼容。执行以下命令配置Git使用系统内置SSH:git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"配置完成后重新尝试克隆。
修复SSH密钥文件权限
Windows下SSH密钥文件权限过宽会被拒绝使用。找到密钥文件(通常在C:\Users\<你的用户名>\.ssh\id_rsa),按以下步骤调整权限:- 右键密钥文件 → 选择「属性」
- 切换到「安全」标签 → 点击「高级」
- 点击「禁用继承」,选择「从此对象中删除所有继承的权限」
- 点击「添加」→ 选择你的用户账户,仅授予「读取」权限
- 保存设置后重新尝试克隆。
检查并清除Git代理设置
即使ssh -T git@github.com测试成功,Git克隆时可能因代理导致权限问题。执行以下命令检查并清理代理:# 查看当前代理配置 git config --global --get http.proxy git config --global --get https.proxy # 清除代理(如果有输出内容) git config --global --unset http.proxy git config --global --unset https.proxy确认仓库权限与SSH密钥绑定
确保你的SSH公钥已正确添加到拥有该仓库访问权限的GitHub账户中:- 登录GitHub账户 → 进入「Settings」→「SSH and GPG keys」
- 检查是否存在你生成的公钥且状态正常
- 若为私有仓库,确认该账户已被添加为仓库协作者或拥有对应访问权限
内容的提问来源于stack exchange,提问作者tholomew
相关产品推荐
相关产品推荐

