一、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带来的好处了!