GitLab 配置服务器 SSH 权限

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}"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值