Gitee提示Permission denied (publickey)无法推送,同公钥Github正常如何解决
问题原因
从你提供的ssh调试日志可以看到,ssh连接Gitee时遍历了所有默认命名的私钥文件(id_dsa、id_ecdsa、id_ed25519等)都没有找到匹配的密钥,导致鉴权失败。你提到同一份公钥GitHub可以正常使用,说明本地私钥本身是有效的,只是Gitee连接时没有正确读取到对应密钥,或是Gitee侧的公钥状态异常。
解决方案
按以下步骤依次排查即可:
- 第一步:确认本地私钥文件名
进入/c/Users/57715/.ssh/目录,查看你正在使用的私钥文件名,大概率不是ssh默认的命名规则(比如你可能命名为id_rsa_git、github_id_rsa这类自定义名称)。 - 第二步:配置SSH规则
在/c/Users/57715/.ssh/目录下新建(如果不存在)名为config的文件,写入以下内容:Host gitee.com HostName gitee.com User git IdentityFile ~/.ssh/替换为你实际的私钥文件名 PreferredAuthentications publickey - 第三步:修正私钥权限(Windows Git Bash环境执行)
ssh会拒绝权限过高的私钥,执行命令修正权限:chmod 600 ~/.ssh/替换为你实际的私钥文件名 - 第四步:添加私钥到ssh-agent(可选,避免每次输入密码)
执行以下命令加载私钥:eval "$(ssh-agent -s)" ssh-add ~/.ssh/替换为你实际的私钥文件名 - 第五步:排查Gitee侧公钥状态
登录Gitee账号,进入个人设置-SSH公钥页面,确认你使用的公钥已添加、没有被禁用/过期,如果你使用的是SHA-1算法生成的旧RSA密钥,建议重新生成SHA-256的密钥重新添加到Gitee。
验证
完成配置后执行命令测试连接:
ssh -T git@gitee.com
返回包含你Gitee用户名的欢迎提示即为配置成功。
内容的提问来源于stack exchange,提问作者Wu-Yikun
相关产品推荐
相关产品推荐

