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

Git仓库配置访问密钥后无法正常访问问题求助

问题排查思路

报错核心特征:SSH将私钥路径/home/devuser/.ssh2/id_rsa_2048_b识别为待连接的主机名,而非身份验证密钥文件路径。

  • 核查devuser用户的SSH客户端配置:
    打开devuser家目录下的~/.ssh/config文件,以及全局SSH配置/etc/ssh/ssh_config,检查针对host.fqdn.net的配置项是否写反了HostName和IdentityFile参数,错误配置示例如下:
    Host host.fqdn.net
      HostName /home/devuser/.ssh2/id_rsa_2048_b # 错误:此处应该填写域名host.fqdn.net
      IdentityFile git@host.fqdn.net # 错误:此处应该填写私钥路径
    
    修正配置为标准格式即可:
    Host host.fqdn.net
      Port 6999
      HostName host.fqdn.net
      IdentityFile /home/devuser/.ssh2/id_rsa_2048_b
      User git
    
  • 打印SSH连接调试日志确认配置读取逻辑:
    执行命令 ssh -v -p 6999 git@host.fqdn.net,查看输出中Connecting to <xxx> port 6999的<xxx>字段,如果确实是私钥路径,即可确认是配置读取错误导致的问题。
  • 核查密钥文件权限合法性:
    devuser用户的私钥文件/home/devuser/.ssh2/id_rsa_2048_b权限必须设置为600,上层.ssh2目录权限必须设置为700,且所属用户和用户组均为devuser,权限异常会导致SSH读取密钥失败,触发异常的配置 fallback 逻辑。
  • 手动指定私钥路径测试克隆:
    执行以下命令强制指定私钥进行克隆,如果可以正常执行,即可完全排除密钥本身、Bitbucket权限的问题,锁定问题出在本地SSH配置:
    git clone -c core.sshCommand="ssh -i /home/devuser/.ssh2/id_rsa_2048_b" ssh://git@host.fqdn.net:6999/dev-project/test-repo.git
    
  • 核查Git相关环境变量:
    执行命令 env | grep GIT_SSH 检查是否存在GIT_SSH_COMMAND或者GIT_SSH环境变量被错误赋值,错误的环境变量优先级高于SSH配置文件,也会导致该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 19:45:02