git权限问题解决方法Access denied fatal: Authentication failed

文章目录

遇到Access denied 的权限问题

git pull 代码 或者 git push 时,遇到 Access denied问题:

$ git pull

remote: HTTP Basic: Access denied

fatal: Authentication failed for 'http://gitlab.corp.xxxx.com/yyyy/xxxx.git/'

解决方法

1、git的密码修改过,但是本地没更新。

直接登录gitlab没问题,但是本地免密提交有问题,直接解决方案:

bash 复制代码
#先执行
eval `ssh-agent`
#再执行,请检查id_rsa的路径正确
ssh-add ~/.ssh/id_rsa
#查询是否成功,列表中是否有id_rsa 设置的邮箱名称
ssh-add -l

2、确定问题,然后增加配置

① 查询用户信息

bash 复制代码
#查询当前配置列表
git config --list

重点信息确认:

注意: user.name 和 user.email设置是否正确。

②如果名称和email不对,设置名称:

bash 复制代码
git config --global user.name "wukong.sun"            # 请换成你自己的名字,除非你凑巧也叫wukong.sun
git config --global user.email "wukong.sun@xxx.com" # 同上

③ 检查ssh-add是否链接正常

bash 复制代码
$ ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent

解决方法

bash 复制代码
#先执行
eval `ssh-agent`
#再执行,请检查id_rsa的路径正确
ssh-add ~/.ssh/id_rsa
#查询是否成功,列表中是否有id_rsa 设置的邮箱名称
ssh-add -l

④ 设置不要每次都输入用户名密码

每次远程操作pull/push/fetch时需要手动输入密码,执行这个命令,开启凭证助手。 注:第一次需要输入用户名密码

bash 复制代码
#配置凭证助手
git config --global credential.helper store

以上应该能解决主要问题, 以下内容为配置免密提交的方法


如果只是想验证用户名/密码是否正确的,可以清除凭证先验证,附送清除方法:慎用!慎用!慎用!(清除之后,还要走一遍④)

bash 复制代码
清除凭证助手
git config --system --unset credential.helper

除了system外,还有global、local等范围

使用 git config --list 命令这是展示配置属性,只要不存在credential.helper表示清除成功

3、配置免登录git提交

① ssh-keygen 生成免密对儿

在Linux的命令行下,或Windos上Git Bash命令行窗口中(总之不要用iOS),键入:

bash 复制代码
ssh-keygen -t rsa -C "wukong.sun@xxx.com"

然后一路回车,不要输入任何密码之类,生成ssh key pair。

② 把私钥告诉本地系统

bash 复制代码
#把私钥告诉本地系统:
ssh-add ~/.ssh/id_rsa

③ 把公钥的内容复制到GitLab上

bash 复制代码
#显示ssh公钥的内容:
cat ~/.ssh/id_rsa.pub

两个箭头之间的内容都需要。

打开GitLab网页:http://gitlab.corp.xxx.com/profile/keys,点击"Add SSH Key",然后把刚才ssh公钥id_rsa.pub(windows下的用户目录找到.ssh文件夹进去就可以看到)的内容paste进去。不需要填title,title会自动生成

要是GitLab报"不是有效的key"之类的错误,可能是你没去除注意去除多余的回车符,也可能是paste之前copy的时候,没copy最开头的"ssh-rsa "(有空格哈)这几个字。

相关推荐
b1ng6 小时前
新人程序员 Git 一站式指南
git·github
程序员的世界你不懂7 小时前
IDE 关联 Git 操作
ide·git
weixin_428498498 小时前
Git Submodule 介绍和使用指南
git
jingshaoqi_ccc20 小时前
GitKraken最后一个免费版本和下载地址
git·github·gitkraken·版本管理工具
乌云暮年20 小时前
Git简单命令
git·gitee·github·batch命令
用户1259265423201 天前
使用 Docker 搭建 Gitea 并实现 Git HTTP 自动登录
git
一只毛驴1 天前
谈谈对git stash的理解?
git
长风破浪会有时呀1 天前
Git 学习笔记
笔记·git·学习
中微子2 天前
Git Rebase 详解:概念、原理与实战示例
git
荔枝吻2 天前
【保姆级喂饭教程】Windows下安装Git Flow
windows·git·git flow