git 拉取代码遇到2FA拉取代码失败fatal: Authentication failed

先说2FA是什么,2FA是我们在登录gitlab的时候,输入账号密码后,需要再输入一个随时变动的6位数验证码,如果没开启2FA就没有这个。开启了就会需要输入。

首次登录可以手机下载个阿里云的app扫二维码,然后可以在app上可以看到一个每过十几秒就会变化的验证码。

代码仓库开启了2FA认证,在我们git clone的时候出现如下报错,因为开启后,我们只是单纯的git clone https没法通过FA认证,需要通过access-token去clone

fatal: Authentication failed for 'https://git***/xxx.git'

当然,出现这个报错的原因还有很多,比如

  • 输入的账号密码不正确
  • 账号没有访问该仓库的权限
  • 开启了2FA认证
  • 防火墙原因
  • git版本过低或者URL不正确(这两种原因很少,一般问题出现在前4个原因里)

问题解决思路

上面我们列举了几种常见git拉取代码失败的原因。

输入账号密码不正确

我们只要可以用账号密码通过web页面登录上gitlab,账号密码就是对的,不需要纠结了

账号没有访问该仓库的权限

登录后,看看我们的角色,只要不是游客身份就可以拉取代码,这个一般需要运维帮忙确认image

防火墙原因也需要运维协助排查
2FA是比较常见的原因

image

我们在setting里选择Access Token
输入我们access的名字,到期时间,以及下面的权限,比如api,read_user这些,如果不知道什么意思可以百度也可以多选

创建完成后我们会获取到一个access-token
然后到我们的机器上执行

git clone https://oauth2:access-token@git.zuos.com/liwenchao/nav.git

//access-token  替换成我们获取到的access-token字符串
//git.zuos.com/liwenchao/nav.git   替换成我们实际需要git的工程
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐