Windows下Git SSH认证成功却无法克隆或推送的问题求助
解决Windows下Git SSH验证成功但克隆仓库权限拒绝的问题
1. 强制Git使用指定的SSH密钥
Windows下Git可能默认调用了其他密钥,而非你添加的那组。直接在SSH配置里指定密钥路径:
- 打开用户目录下的
.ssh文件夹(一般是C:\Users\你的用户名\.ssh),新建或编辑config文件,写入:
Host github.com IdentityFile ~/.ssh/id_ed25519 # 替换成你实际的密钥文件名 IdentitiesOnly yes
- 保存后重新执行
ssh -T git@github.com,验证是否用指定密钥通过认证,再尝试克隆。
2. 确认目标仓库的权限
SSH验证成功只代表你和GitHub的连接没问题,但不代表你有权限克隆目标仓库:
- 登录GitHub,进入目标仓库的「Settings」→「Collaborators and teams」,检查你的账号是否在协作列表中;如果是私有仓库,必须确保账号有读取权限。
3. 检查Windows OpenSSH服务状态
Windows自带的OpenSSH服务可能异常,导致ssh-agent无法正常工作:
- 按Win+R输入
services.msc打开服务管理器,找到「OpenSSH Authentication Agent」:- 确认服务状态为「正在运行」
- 启动类型设为「自动」
- 重启服务后,重新执行
ssh-add ~/.ssh/id_ed25519添加密钥,再尝试克隆。
4. 核对远程仓库地址
偶尔会出现远程地址拼写错误或误用HTTPS格式的情况:
- 运行
git remote -v查看当前远程地址,如果是HTTPS开头,执行以下命令切换为SSH格式:
git remote set-url origin git@github.com:你的用户名/目标仓库名.git
内容的提问来源于stack exchange,提问作者yamaan93
相关产品推荐
相关产品推荐

