MacOS中GitLab HTTPS克隆遇2FA问题,如何用SSH密钥/Token解决
解决GitLab仓库克隆的认证问题(MacOS)
方法一:用SSH链接克隆(推荐,已有配置)
既然你已经配好SSH密钥且能正常通过SSH认证,直接换用SSH克隆地址就行:
- 去GitLab仓库页面复制SSH格式的克隆地址(一般是
git@gitlab.com:<用户名>/<仓库名>.git) - 终端执行克隆命令:
git clone git@gitlab.com:<用户名>/<仓库名>.git
要是已经用HTTPS克隆了仓库,也能修改本地仓库的远程地址为SSH:
git remote set-url origin git@gitlab.com:<用户名>/<仓库名>.git
方法二:HTTPS结合GitLab个人访问令牌(PAT)
如果非要用HTTPS链接,得用个人访问令牌代替账号密码(因为2FA开启后账号密码无法直接认证):
- 创建PAT:
- 登录GitLab,进入「用户设置」→「访问令牌」
- 填个令牌名称,勾选权限(至少选
read_repository用来克隆),设置有效期后生成 - 复制好生成的令牌,别丢了(页面关了就看不到了)
- 克隆仓库:
- 直接在命令里带上令牌:
git clone https://<你的PAT>@gitlab.com:<用户名>/<仓库名>.git - 或者克隆时弹出输入框,账号填你的GitLab用户名,密码填刚才的PAT
- 直接在命令里带上令牌:
- 让Git自动记住令牌:
在终端跑这个命令,之后令牌会存在Mac钥匙串里,不用每次输:git config --global credential.helper osxkeychain
内容的提问来源于stack exchange,提问作者zero
相关产品推荐
相关产品推荐

