如何在极狐GitLab中添加 SSH Key?

本文分享如何生成 SSH Key 并添加到极狐GitLab 中,然后用 SSH Key 进行代码拉取。

极狐GitLab 是 GitLab 在中国的发行版,可以私有化部署,对中文的支持非常友好,是专为中国程序员和企业推出的企业级一体化 DevOps 平台,一键就能安装成功。安装详情可以查看官网指南

SSH Key 对于通过 ssh 来进行极狐GitLab 代码拉取是重要的,完成整个流程一般分为三步:

  • SSH Key 的生成
  • 添加 SSH Key 到极狐GitLab 中
  • 使用 ssh 克隆代码

第一步:生成 SSH Key

使用 ssh-keygen命令来生成 SSH Key:

复制代码
ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_jh_gitlab
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa_jh_gitlab
Your public key has been saved in /root/.ssh/id_rsa_jh_gitlab.pub
The key fingerprint is:
SHA256:OuX13mP/EASg/KljuZXrWsq65WIvzFaU9T72tXisVPc [email protected]
The key's randomart image is:
+---[RSA 3072]----+
|          ...    |
|       . ..  .   |
|        oo .  .  |
|        o. ...   |
|       .S +.  ...|
|       +.+ o+ ..+|
|     oo.B +..++.E|
|      B* * o.o+= |
|     oo*Boo .o+o+|
+----[SHA256]-----+

生成之后,可以在 ~/.ssh目录下面查看:

复制代码
ls -ltr ~/.ssh/
total 24
-rw------- 1 root root  676 Apr  3 14:49 authorized_keys
-rw-r--r-- 1 root root  284 Sep  5 14:15 known_hosts
-rw-r--r-- 1 root root  574 Sep  5 14:16 id_rsa_jh_gitlab.pub
-rw------- 1 root root 2610 Sep  5 14:16 id_rsa_jh_gitlab

可以看到最下面两个是刚才生成的 SSH Key pair。pub 是公钥,另外一个是私钥。可以用 cat命令查看两个 key 的内容。

第二步:将 SSH Key 添加到极狐GitLab

点击左上角的头像 --> 偏好设置 --> SSH 密钥

点击右上角的添加新密钥:

将第一步中生成的 pub 内容拷贝到密钥方框中,然后可以自定义标题,选择到期时间,直接点击添加密钥即可完成 SSH Key 的添加。

第三步:clone 仓库代码

添加完 SSH Key 就可以使用 ssh 来 clone 代码了:

复制代码
git clone [email protected]:root/kubernetes-agent.git
Cloning into 'kubernetes-agent'...
remote: Enumerating objects: 21, done.
remote: Total 21 (delta 0), reused 0 (delta 0), pack-reused 21 (from 1)
Receiving objects: 100% (21/21), 4.09 KiB | 838.00 KiB/s, done.
Resolving deltas: 100% (2/2), done.
相关推荐
梁萌1 小时前
05-DevOps-Jenkins自动拉取构建代码
运维·jenkins·devops·代码拉取
HX科技1 天前
树莓派_利用Ubuntu搭建gitlab
数据库·ubuntu·gitlab
云攀登者-望正茂1 天前
Terraform - 理解 Count 和 For_Each 循环
devops·terraform
程序设计实验室1 天前
Traefik,想说爱你不容易:一场动态反向代理的心累之旅
linux·docker·devops·traefik·caddy
杰瑞学AI1 天前
Devops之GitOps:什么是Gitops,以及它有什么优势
运维·git·云原生·kubernetes·devops·argocd
清瞳清1 天前
软件包安装管理Gitlab
gitlab·deb
神奇侠20242 天前
快速入手K8s+Docker+KubeSphere+DevOps
docker·kubernetes·devops
遇见火星2 天前
基于Docker容器的CICD项目Jenkins/gitlab/harbor/Maven实战
docker·容器·gitlab·jenkins·maven·harbor·cicd
邹卓为3 天前
docker 安装 Gitlab
docker·容器·gitlab
云途行者3 天前
GitLab 17.x 在 Ubuntu 24.04 上安装配置
linux·ubuntu·gitlab