Visual Studio Code与GitLab集成执行git clone时SSH权限被拒如何解决?
GitLab SSH克隆权限报错解决方案
该报错的核心原因是本地设备的SSH公钥未在GitLab账号中完成绑定,GitLab无法识别你的访问身份,因此拒绝了仓库读取请求,可按以下步骤排查解决:
解决步骤
- 生成本地SSH密钥对
打开终端执行命令:ssh-keygen -t ed25519 -C "xx.xxxx@mail.com"(此处邮箱替换为你GitLab账号绑定的邮箱),如果设备不支持ed25519算法,可替换为ssh-keygen -t rsa -b 4096 -C "xx.xxxx@mail.com",执行过程中连续按三次回车即可,无需额外设置密码。 - 复制公钥内容
Windows系统执行:Get-Content ~/.ssh/id_ed25519.pub | Set-Clipboard
macOS系统执行:pbcopy < ~/.ssh/id_ed25519.pub
Linux系统执行:xclip -sel clip < ~/.ssh/id_ed25519.pub
也可以直接打开用户目录下的.ssh文件夹,找到后缀为.pub的公钥文件,用文本编辑器打开后全选复制所有内容,注意不要多复制空格或换行。 - 绑定公钥到GitLab账号
登录GitLab网页端,点击右上角个人头像→选择「偏好设置」,左侧菜单找到「SSH Keys」选项,将复制的公钥内容粘贴到「Key」输入框,「Title」可自定义填写,比如“毕设电脑”,点击「Add key」完成绑定。 - 验证配置是否生效
终端执行命令:ssh -T git@gitlab.com,首次连接会提示是否确认连接,输入yes回车,如果返回包含「Welcome to GitLab, @你的用户名!」的内容,即说明配置生效。 - 重新拉取仓库
配置完成后重新执行git clone ssh://git@gitlab.com/NewFolder/repo.git即可正常克隆仓库。
异常排查
如果按上述步骤操作后仍然报错,可检查以下内容:
- 确认你的GitLab账号对目标仓库拥有至少Guest级别的访问权限,无权限可联系仓库管理员添加权限
- 检查本地SSH配置是否异常,执行
cat ~/.ssh/config查看是否存在gitlab.com相关的异常配置,如有多余配置可删除后重试 - 检查git全局配置的邮箱是否和GitLab绑定邮箱一致,执行
git config --global user.email查看,不一致可重新执行git config --global user.email "你的GitLab绑定邮箱"修改
内容的提问来源于stack exchange,提问作者Maider Pozo
相关产品推荐
相关产品推荐

