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

macOS Sonoma升级后GitLab SSH克隆遇Permission denied问题求助

macOS Sonoma升级后SSH克隆GitLab仓库Permission Denied问题排查

根据你提供的ssh -Tv日志和配置,以下是几个最可能的原因及解决方法:

1. SSH访问用户错误(核心问题)

日志显示你正尝试以本地用户名yulia登录GitLab服务器:

debug1: Authenticating to git.cr.keessa.ru:22 as 'yulia'

但GitLab的SSH服务默认要求使用git用户进行仓库操作,而非个人用户名。

解决方法:
修改~/.ssh/config,添加User git配置:

Host git.cr.keessa.ru
     Preferredauthentications publickey
     IdentityFile ~/.ssh/id_rsa_vocal
     User git

重新测试:ssh -Tv git.cr.keessa.ru

2. 密钥文件权限不符合macOS要求

Sonoma升级可能重置了.ssh目录或密钥文件的权限,macOS对SSH文件权限有严格限制:

  • .ssh目录权限必须是700(仅所有者可读可写可执行)
  • 私钥文件id_rsa_vocal权限必须是600(仅所有者可读可写)
  • 公钥文件id_rsa_vocal.pub权限必须是644(所有者可读可写,其他用户可读)

解决方法:
执行以下命令修复权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa_vocal
chmod 644 ~/.ssh/id_rsa_vocal.pub

3. OpenSSH版本兼容性问题

你的本地OpenSSH版本是9.3,而服务器是OpenSSH 7.6p1,新版本默认禁用了旧的RSA签名算法,导致服务器无法识别你的密钥。

解决方法:
在~/.ssh/config中添加签名算法兼容配置:

Host git.cr.keessa.ru
     Preferredauthentications publickey
     IdentityFile ~/.ssh/id_rsa_vocal
     User git
     PubkeyAcceptedKeyTypes +ssh-rsa
     PubkeyAcceptedAlgorithms +ssh-rsa

4. 公钥未正确添加到GitLab账户

虽然你提到已添加公钥,但仍需核对:

  • 执行cat ~/.ssh/id_rsa_vocal.pub,复制完整内容(包括开头的ssh-rsa和结尾的注释)
  • 登录GitLab个人设置→SSH密钥,检查是否存在完全一致的条目,确保没有多余空格、换行或截断

5. SSH代理未正确加载密钥

执行ssh-add时未指定密钥路径,默认仅加载id_rsa等默认命名的密钥,你的密钥是id_rsa_vocal,需要手动指定:

ssh-add ~/.ssh/id_rsa_vocal

添加后再次测试SSH连接。


内容的提问来源于stack exchange,提问作者Гончарова Юлия

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:31:11