当前位置: 首页 > news >正文

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

文章目录

  • 遇到Access denied 的权限问题
  • 解决方法
    • 1、git的密码修改过,但是本地没更新。
    • 2、确定问题,然后增加配置
      • ① 查询用户信息
      • ②如果名称和email不对,设置名称:
      • ③ 检查ssh-add是否链接正常
      • ④ 设置不要每次都输入用户名密码
    • 3、配置免登录git提交
      • ① ssh-keygen 生成免密对儿
      • ② 把私钥告诉本地系统
      • ③ 把公钥的内容复制到GitLab上

遇到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没问题,但是本地免密提交有问题,直接解决方案:

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

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

① 查询用户信息

#查询当前配置列表
git config --list

重点信息确认:
git config --list的输出
注意: user.name 和 user.email设置是否正确。

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

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

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

$ ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent

解决方法

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

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

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

#配置凭证助手
git config --global credential.helper store

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


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

清除凭证助手
git config --system --unset credential.helper

除了system外,还有global、local等范围
使用 git config --list 命令这是展示配置属性,只要不存在credential.helper表示清除成功

3、配置免登录git提交

① ssh-keygen 生成免密对儿

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

ssh-keygen -t rsa -C "wukong.sun@xxx.com"

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

② 把私钥告诉本地系统

#把私钥告诉本地系统:
ssh-add ~/.ssh/id_rsa

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

#显示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 ”(有空格哈)这几个字。

http://www.lryc.cn/news/127713.html

相关文章:

  • Hands on RL 之 Off-policy Maximum Entropy Actor-Critic (SAC)
  • JavaScript中的this指向,call、apply、bind的简单实现
  • Linux学习之基本指令一
  • appium默认60秒关闭应用的问题
  • Docker 容器内无法使用vim命令 解决方法
  • Django的简介安装与配置及两大设计模式
  • Mybatis分页插件——PageHelper
  • k8s认证详解 k8s证书详解 2023推荐
  • php初解
  • 【C语言】回调函数,qsort排序函数的使用和自己实现,超详解
  • PHP手术麻醉系统源码,自动生成麻醉和护理医疗文书
  • 内网穿透实战应用——【通过cpolar分享本地电脑上有趣的照片:发布piwigo网页】
  • iPhone删除的照片能恢复吗?不小心误删了照片怎么找回?
  • LeetCode--HOT100题(32)
  • SAP MM学习笔记24-以评估收货(评价)和非评估收货(非评价)
  • Hadoop的DataNode无法启动的解决方案
  • re中的match和search有什么区别?
  • 《内网穿透》无需公网IP,公网SSH远程访问家中的树莓派
  • .net连接mysql,提示找不到请求的 .Net Framework Data Provider。可能没有安装
  • 销售自动化管理软件是什么,销售自动化管理软件有什么优势
  • MySQL 函数
  • 爬虫逆向实战(六)--猿人学第四题
  • 【大数据Hive】hive 事务表使用详解
  • 网络层协议
  • JWT(JSON Web Token )令牌
  • leetcode 力扣刷题 滑动窗口 部分题解(记录)
  • Intellij IDEA SBT依赖分析插件
  • MySQL中事务特性以及隔离机制
  • Docker知识(详细笔记)
  • 【C#】获取已安装的NETFramework版本集合