内容简介:在完成了项目的开发之后,在把项目推送到第一步,因为这个项目不是自己日常维护的,就去查看下自己的角色。 看下是不是重新分配了权限。
0. 问题的来源
在完成了项目的开发之后,在把项目推送到 gitlab
仓库时,出现了以下错误提示:
GitLab: You are not allowed to push code to this project.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
1. 问题追踪过程
1.1 查看项目角色
第一步,因为这个项目不是自己日常维护的,就去查看下自己的角色。 看下是不是重新分配了权限。
结果发现自己是:master 角色
1.2 想着是 sourceTree
工具的配置问题
命令行模式下使用 git push
推送,结果是:同样的报错信息
那么就证明确实是自己角色不对了,可明明自己是 master
。
1.3 确认自己的推送用户
我本身用的是 ssh
+ id_rsa
提交的
网上搜索到一个命令
# 查看推送的用户 ssh -T git@git.workec.com
发现 : 显示的是另外一个同事A的名字
发现 : 显示的是另外一个同事A的名字
发现 : 显示的是另外一个同事A的名字
做过一次测试, 项目中添加A,那么我就可以正常推送。
下面就想着,为什么是同事A呢?如何修改过来呢?
所以我就去查看了相关所有的本地配置文件 ,git 配置,gitlab 对应的密钥,都是我本人无疑。
1.4 重新生成密钥
# step 1 :清空上次的密钥 ssh-keygen -R git.workec.com # 或者使用下面的命令 ssh-keygen -p # step 2: 生成密钥文件 ssh-keygen -t rsa -C "youremail@xxx.com"
生成的密钥和公钥文件,分别是 id_rsa
, id_rsa.pub
。
同时把公钥添加了项目的自己的ssh key
这个时候,使用 ssh 测试一下
# 查看推送的用户 ssh -T git@git.workec.com
会提示
然后会在 本地config下的 known_hosts 添加一条记录
但是这个时候提示的:还是同事A。(我都已经重新生成了我的密钥和公钥,gitlab 服务器返回还是同事Ade名字)
所以我就在想一定是我的公钥发送给服务器的时候,是不是和同事A的一样,让服务器以为当我发出这个请求时,实际上是他做出的请求。
。。。。。。
(中间经历了很多尝试,查看同事B的配置,换账号,这中间多亏了多个小伙伴的帮忙,大家都很好奇的围观和给与意见)
1.5 最后发现
多次尝试失败,同事A根据时间,出错的时间想了下他在那个节点做的事情,是在他的 gitlab
上 添加了一个 xxweb 的公共密钥。
他删除之后,我这边尝试成功。
我查看了下我的配置
里面有一个公共的配置,他添加的就是那个公共配置的密钥
1.6 问题猜测
以为 .ssh/config 目录下,有多个密钥文件,且没有默认的密钥。
所以在和服务器 ssh 认证连接时候,他会从上向下遍历整个文件夹。
当访问到 xxxweb 的时候,查看到密钥库,有同事A的记录,就返回同事A的认证成功。
PS: xxxweb 是登录公司开发环境服务器的一个公共密钥
1.7 最后的问题
-
一个 gitlab 二个账号,切换账号登录。
难道只有在项目下配置默认的用户
- 使用 tcpdump wireshark 抓包没有抓到有用的数据,最终放弃(很不甘心)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- iOS 推送通知及推送扩展
- 安卓统一推送联盟明日开启推送通道测试
- 《Web 推送通知》系列翻译 | 第五篇:使用 Web 推送库发送消息 && 第六篇:Web 推送协议
- 推送系统从0到1(七):推送用户画像建立
- 推送系统从0到1(八):个性化精准推送的实现
- 重构推送服务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Node.js开发指南
郭家寶(BYVoid) / 人民邮电出版社 / 2012-7 / 45.00元
Node.js是一种方兴未艾的新技术,诞生于2009年。经过两年的快速变化,Node.js生态圈已经逐渐走向稳定。Node.js采用了以往类似语言和框架中非常罕见的技术,总结为关键词就是:非阻塞式控制流、异步I/O、单线程消息循环。不少开发者在入门时总要经历一个痛苦的思维转变过程,给学习带来巨大的障碍。 而本书的目的就是帮助读者扫清这些障碍,学会使用Node.js进行Web后端开发,同时掌握事件驱......一起来看看 《Node.js开发指南》 这本书的介绍吧!