GitLab 配置服务器 SSH 权限

本文详细介绍如何在GitLab中配置服务器SSH权限,包括解决常见问题的步骤,如已有公钥冲突、生成新公私钥对等,确保CI/CD流程顺利运行。

GitLab 配置服务器 SSH 权限

背景

公司的项目使用 GitLab 管理远程 Git 库,为了实现 CI\CD 需要在服务器上对 Git 库进行 clone、pull 甚至是 push 操作,公司 GitLab 通过 SSH 的方式实现认证,就需要把服务器的 SSH 公钥配置到 GitLab 中,实践过程中遇到的一些坑在这分享一下

配置方法

第一步:找到配置

找到工程配置里的 Deploy Keys 配置项,展开
在这里插入图片描述

第二步:尝试录入

尝试录入你服务器的 SSH 公钥

查询服务器默认使用的 SSH 公私钥的方法:cat ~/.ssh/id_rsa.pub

在这里插入图片描述

如果第二步成功,恭喜你,配置成功了!可以尝试在服务器上 clone 你的 Git 库了

如果第二步失败,提示已经被录入过了(如下图),尝试第三步
在这里插入图片描述

第三步:尝试使用其他 Git 库已录入的 SSH 公钥

在 Privately accessible deploy keys 里找下找下有没有你需要的服务器,这里会显示其他你有权限的 Git 库曾经配置过的服务器 SSH 公钥
在这里插入图片描述
如果第三步找到了,Enable 一下就好了,恭喜你,配置成功了!可以尝试在服务器上 clone 你的 Git 库了

如果第三步没有找到,可能是由于在其他你没有权限的 Git 库中使用了这个 SSH 公钥,如果无法协调管理员开通权限的话,可以尝试第四步(最终解决方案)

第四步:生成一对新的 SSH 公私钥对并录入

在服务器上生成一对新的 SSH 公私钥对,注意不要覆盖之前的

生成新的 SSH 公私钥对的命令:ssh-keygen -t rsa -C # 选择生成路径时可以用 /xxx/.ssh/id_rsa2 防止覆盖默认的公私钥对

将新生成的 SSH 公钥录入到 GitLab 中,由于是新生成的,肯定之前没有录入过

在服务器上使用新生成的 SSH 公私钥的方法:

#! /bin/bash
ssh-agent bash -c "ssh-add ~/.ssh/id_rsa2 && git clone ${gitrepo_url}"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值