Mac环境下Git Clone遇Permission Denied(publickey)问题求助
解决GitLab SSH克隆Permission denied (publickey)问题
核心问题原因
你遇到的是SSH密钥认证失败,GitLab无法识别你的身份导致拒绝访问。用sudo执行只会切换到root用户,而root的SSH密钥和你当前用户的不通用,所以依然失败。
分步解决方法
检查本地SSH密钥是否存在
执行命令查看当前用户的SSH密钥目录:ls -la ~/.ssh/如果没有看到
id_rsa(私钥)和id_rsa.pub(公钥)文件,需要生成新的SSH密钥:ssh-keygen -t rsa -b 4096 -C "你的GitLab绑定邮箱"执行过程中按回车确认默认路径和空密码即可。
将公钥添加到GitLab账户
复制公钥内容:cat ~/.ssh/id_rsa.pub打开GitLab个人设置页面,找到「SSH Keys」选项,粘贴复制的公钥内容,设置过期时间后保存。
测试SSH连接有效性
执行测试命令验证认证是否成功:ssh -T git@gitlab.com如果输出类似
Welcome to GitLab, @你的用户名!的信息,说明SSH认证正常。重新执行克隆命令
用普通用户身份执行克隆,不要加sudo:git clone git@gitlab.com:techibytesmedia/script-jobs.git
额外排查点
- 确认目标仓库确实存在,且你的GitLab账户拥有该仓库的访问权限(私有仓库需被添加为项目成员)
- 检查
~/.ssh/config文件,确保没有针对gitlab.com的错误配置(比如指定了错误的密钥路径) - 若使用Windows系统,确保OpenSSH服务已开启,建议用Git Bash执行相关命令
内容的提问来源于stack exchange,提问作者Emmanuel Chisom
相关产品推荐
相关产品推荐

