gitlab 添加了 ssh keys, git clone git@xxx:xx.git 无法拉取的解决思路及办法

现象

公司是自建的gitlab的服务器,部署项目是集成到了自研的运维管理平台。之前拉取都是没有问题的,有一次另外的同事说,现在部署项目无法成功。

排错过程

根据报错信息排查,发现是 git clone git@xxx:xx.git 报错。之前是可以的,突然不行了,gitlab 上面也可以查看到公钥。

报错信息忘记保存了。额…

提供下自己的想法,gitlab 服务是没有人动过的。

首先,手动添加了 服务器的公钥到 gitlab 的 ssh keys,界面显示添加成功。发现依然无法git clone 成功。

根据报错信息搜了波,发现查出来的文章和我的不太一样。

然后,想着那可能是公钥没有保存到 gitlab 服务的 .ssh 文件夹中。

按照这个思路,查看 /var/opt/gitlab/.ssh/authorized_keys ,发现之前的 公钥不见了,奇怪!!!

解决办法

按照 gitlab 安装目录中,.ssh/authorized_keys 中的格式,(注意,这里的格式要根据自己的服务更改)。添加服务器的公钥进入就可以正常使用。
比如:

command="/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell key-10",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa + 自己的公钥
command="/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell key-10",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfda
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多人开发分支流程通常在Git中是这样的: 1. **初始化仓库** (git init): 如果你在新的项目开始时创建一个新的本地仓库,可以使用`git init`命令初始化一个全新的Git仓库。 2. **克隆仓库** (git clone): 当团队成员想要参与到项目中,他们可以从远程仓库(如GitHub、GitLab等)使用`git clone [repository-url]`来克隆整个项目到自己的本地。 3. **切换分支** (git checkout -b): 每位开发者可以在本地创建并切换到自己的分支,比如`git checkout -b feature-branch` 创建并切换到新功能分支。 4. **工作与提交** (git add, git commit): 开发者在修改完代码后,先使用`git add [file-name]`添加改动,然后用`git commit -m "commit message"`提交更改,记下简短的描述说明做了什么更改。 5. **推送至远程分支** (git push origin branch-name): 将本地分支的更新推送到远端共享,让其他团队成员看到。 6. **合并分支** (git merge or rebase): 当某个分支的工作完成并通过审查,主分支或需要该变更的其他分支会从`origin`拉取更新,再用`git merge feature-branch` 或 `git rebase feature-branch` 合并分支。 7. **冲突解决** (git mergetool): 如果有冲突发生,需要手动解决后再提交。 8. **保持同步** (git pull): 定期在本地使用`git pull`获取远程分支的最新变化,避免信息孤岛。 9. **查看状态** (git status): 使用`git status`了解当前目录的状态,包括未跟踪文件、暂存区的改动和已提交的更改。 在协作过程中,频繁地交流和协同处理冲突是很关键的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值