GitLab仓库克隆遇Permission denied(publickey)权限问题求助
出现的错误提示:
Permission denied (publickey)
fatal: 无法从远程仓库读取。请确保您拥有正确的访问权限且仓库存在。
以下是具体排查和解决步骤:
验证本地SSH认证状态
运行命令:ssh -T git@gitlab.com(自建GitLab替换为对应域名),如果输出Welcome to GitLab, @你的用户名!说明认证正常;若仍报错,继续下一步。
同时检查本地SSH密钥权限:运行chmod 600 ~/.ssh/id_rsa确保私钥权限为600,避免权限过宽导致认证失败。核对GitLab公钥一致性
本地执行cat ~/.ssh/id_rsa.pub复制公钥内容,打开GitLab个人资料的SSH密钥页面,对比粘贴的内容是否和平台上保存的完全一致,确保无多余空格、换行或字符缺失。确认仓库克隆地址
确保使用SSH格式的克隆地址(如git@gitlab.com:用户名/仓库名.git),而非HTTPS地址。若已用HTTPS克隆,可执行git remote set-url origin git@gitlab.com:用户名/仓库名.git修改远程地址。排查SSH配置问题
检查~/.ssh/config文件是否存在错误配置,比如针对GitLab的Host、IdentityFile设置错误。可暂时重命名该文件(mv ~/.ssh/config ~/.ssh/config.backup)后重试克隆。确认仓库访问权限
联系仓库管理员,确认你的GitLab账号已被添加为项目成员,且拥有至少Reporter级别的权限,确保具备克隆权限。
内容的提问来源于stack exchange,提问作者Shafiul Azim

