GitLab设置SSH Key详解

一、GitLab设置SSH Key

GitLab是一款开源的,基于Web界面的Git代码托管平台。SSH Key是GitLab中访问Git代码仓库的重要授权方式之一。若我们想使用SSH Key来访问GitLab上的代码仓库,我们需要以下步骤:

1、生成公/私钥对

ssh-keygen -t rsa -C "your_email@example.com"
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): /c/Users/you/.ssh/id_rsa_GitLab

2、将公钥(这里的id_rsa_GitLab.pub)添加到GitLab服务器中

cat ~/.ssh/id_rsa_GitLab.pub

在你的个人主页->设置->SSH密钥中添加SSH密钥即可。

二、GitLab设置SSH连接

若您当前还未在自己的计算机上设置过SSH Key,那么需要我们首先设置SSH连接。具体操作步骤如下:

1、安装Git

sudo apt-get install git

2、检查是否已经设置了SSH Key

ls -al ~/.ssh

如果已经设置过,你会看到以下内容:

-rw-------. 1 exampleuser exampleuser 1766 Jun 24  07:49 id_rsa
-rw-r--r--. 1 exampleuser exampleuser  406 Jun 24  07:49 id_rsa.pub

如果还未设置,OMG!你可以执行下面的命令生成新的SSH Key:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

三、GitLab设置SSH Key后仍然需要密码

如果你设置了SSH Key, 但是你仍然需要每次输入密码才能够访问GitLab上的仓库,你需要检查是否已经将存在的钥匙添加到agent的认证提供者中。参考下面的步骤:

1、确保你的内存钥匙需要添加

ssh-add -l

正常情况下,你会看到一些ID匹配的输出。

2、在本地添加钥匙

ssh-add ~/.ssh/id_rsa

如果你仍然需要输入密码,你可以创建文件~/.ssh/config,并将以下内容复制到其中:

Host gitlab.com
    Preferredauthentications publickey
    IdentityFile ~/.ssh/id_rsa

四、GitLab设置SSH公钥

一般情况下,你可以在电脑上终端中执行以下命令生成公钥:

cat ~/.ssh/id_rsa.pub

复制公钥,在GitLab上设置即可:

1、打开GitLab的页面,在右上角展开用户头像的下拉菜单,点击“Settings”,然后选中左侧的“SSH Keys”。

2、新建密钥并将生成的公钥添加到Key中。

五、GitLab设置SSH密钥

SSH Key由两部分组成:标识和密钥(公/私钥)。公钥用于授权,私钥用于身份认证。这里创建密钥的过程与创建公钥的过程基本相似。

1、在终端中打开SSH Agent:

eval "$(ssh-agent -s)"

2、为SSH Agent添加密钥

ssh-add ~/.ssh/id_rsa_yourkey

六、GitLab设置SSH端口

不同的GitLab服务器可能会运行在不同的SSH服务器端口上,而我们在通过SSH连接到服务器的时候需要知道服务器运行在哪个端口,否则我们将无法通过SSH网络协议连接到服务器。 可以在首页中选择“Settings”, 然后在 SSH Keys 中选择”Add SSH Keys”,就可以输入相关的信息来添加SSH Keys了。

如果你需要自定义SSH端口,需要编辑~/.ssh/config文件添加如下内容:

Host gitlab.com
    Port 10022
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

七、GitLab SSH设置

GitLab中可以设置SSL证书,以及WebHooks等内容,我们在这里列出如何设置GitLab中的SSH。在右上角“头像->Settings->SSH Keys”点击Add SSH Key输入:

Title:ssh关键字
Key:(粘贴你电脑生成的公钥)

八、GitLab设置为中文

如果你想将GitLab页面设置成中文,只需要在你的个人主页–Settings–Preferences–Language中选择中文即可。

九、GitLab设置域名

如果你的GitLab服务部署在公共云环境中,建议使用自定义域名加以保护。可以通过DNS CNAME(别名)方式绑定自己喜欢的域名,具体操作如下:

1、在自己的DNS管理处增加一条CNAME记录指向自己的GitLab域名。

2、在GitLab的管理控制台中,设置自己的域名。

3、为了确保服务及时响应,可以在自己的DNS管理处设置DNS解析时间较短,如60秒。

下面是一个例子:

gitlab.example.com. IN CNAME _your_gitlab_url_.

执行完了哦!现在你可以快乐地享受GitLab带来的好处了!

原创文章,作者:WKWB,如若转载,请注明出处:https://www.506064.com/n/145555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
WKWBWKWB
上一篇 2024-10-27 23:50
下一篇 2024-10-27 23:51

相关推荐

  • Python如何遍历字典中的key和value

    本文将详细讲解Python中如何遍历字典中的key和value,包括多种遍历方式以及在遍历过程中的一些应用场景。 一、遍历字典中的key和value 在Python中,字典是一种无…

    编程 2025-04-29
  • Python SSH 远程执行命令

    Python SSH 远程执行命令是指在一个服务器上执行远程另一个服务器上命令。如果你需要在本地机器上执行命令,或者在远程机器上执行本地命令,你都可以使用 SSH。在 Python…

    编程 2025-04-29
  • Python字典输出key对应的value

    本文将从多个方面详细阐述Python字典输出key对应的value,包括获取单个和多个key的value值、如何判断一个key是否存在、如何遍历所有的key-value对和如何删除…

    编程 2025-04-28
  • etcd查看key value

    etcd是一个高可用的键值存储组件,它为分布式系统提供了一个可靠的方式来存储数据。本篇文章将介绍如何通过etcd查看key value,包括使用etcdctl命令行工具和Go语言的…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25

发表回复

登录后才能评论