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

SSH连接正常但Windows下Git克隆提示Permission denied问题求助

Windows下Git SSH克隆失败但直接SSH登录成功的问题排查

环境说明

  • Windows作为宿主机,CentOS虚拟机内运行基于Debian的Git Docker容器
  • 容器仅允许SSH密钥认证,已禁用用户名密码登录
  • 可正常完成以下SSH连接:Windows→CentOS、Windows→Git容器、CentOS→Git容器
  • Windows和CentOS的SSH配置文件(Windows路径为C:\Users\<用户名>\.ssh\config,CentOS路径为~/.ssh/config)内容基本一致:
Host git_name
  HostName <ip_address_of_CentOS>
  Port <port_mapped_to_container>
  User <git_username>
  IdentityFile <path_to_private_key>

问题现象

  • 在Windows和CentOS中执行ssh git_name都能成功登录Git容器
  • 但执行Git克隆命令时,CentOS可正常克隆,Windows报错:
Cloning into 'repo_folder'...
<successfully_resolved_user@ip>: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
  • 尝试两种克隆语法均得到相同错误:
    git clone ssh://git_name/example_path/repo_folder
    
    git clone git_name:/example_path/repo_folder
    

可能原因与解决方法

1. Git使用的SSH客户端与系统默认不一致

Windows上的Git通常自带一套OpenSSH客户端,和Windows系统自带的OpenSSH不是同一个程序,导致两者读取的SSH配置、密钥路径不匹配。

  • 解决方法:
    • 分别在Git Bash和PowerShell/CMD中执行ssh -V,对比版本确认是否为不同客户端
    • 配置Git使用系统自带的SSH:
      git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
      
    • 若坚持使用Git自带SSH,需确保Git Bash的~/.ssh目录下有对应私钥,且权限符合要求

2. SSH配置文件的路径格式错误

Windows路径分隔符为\,但Git使用的SSH客户端可能无法识别该格式,或路径未正确转义。

  • 解决方法:
    • 将IdentityFile的路径改为正斜杠格式,例如C:/Users/xxx/.ssh/id_rsa
    • 若私钥在默认的.ssh目录下,可直接使用相对路径:IdentityFile ~/.ssh/id_rsa

3. 私钥文件权限过于宽松

SSH对私钥权限要求严格,Windows下若私钥被其他用户组读取,会被SSH客户端拒绝使用。

  • 解决方法:
    • 右键私钥文件→属性→安全→编辑,删除除当前用户外的所有权限条目
    • 点击「高级」→禁用继承→将继承的权限转换为该对象的显式权限,最终只保留当前用户的「读取」权限

4. Git全局配置覆盖了SSH设置

Git全局配置中可能指定了特定的SSH密钥或命令,覆盖了SSH配置文件的规则。

  • 解决方法:
    • 执行git config --global --list查看是否存在core.sshcommand相关配置,若有则删除:
      git config --global --unset core.sshCommand
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:42:18