Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

私有Gitlab配置SSH连接

2022/02/25 git
Word count: 768 | Reading time: 3min

SSH连接并不是像http连接一样,输入用户名和密码就可以了。SSH连接需要一些额外的配置

生成SSH秘钥和公钥

查询有效邮箱

首先要确定使用的邮箱,是不是自己认为的邮箱,比如我以为是chenli@sucsoft.com结果,却发现是399-chenli@sucsoft.com,那么按照自认为的邮箱申请的keys那自然不会work。——一般情况不会有歧义邮箱出现,但我这边确实跟想的不太一样

查询方法(一)——新建项目

创建空的仓库,提示中提及的邮箱就是有效邮箱

gitlab-ssh

查询方法(二)——个人Preference

  1. 打开User Settings->Profile,其中有Emailpublic emailcommit email三个邮箱,其中跟我们开发命令比较有关的就是这个Commit Email,之前我的默认是399-chenli@sucsoft.com,这边要设置自己想要的,比如chenli@sucsoft.com

email_settings

▲选择完成后,滑到最下面选择Update profile settings

  1. 打开User Settings->Emails可以看到,chenli@sucsoft@sucsoft.com的标签中有commit email,即设置成功

preference_email

Gitlab设置公钥

确保邮箱是有效的后就可以生成秘钥了。

  1. 设置git信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 1. 设置git信息
git config --global user.name "chenli"
git config --global user.email "chenli@sucsoft.com"
# 2. 生成秘钥和公钥
$ ssh-keygen -t rsa -C chenli@sucsoft.com
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/mrli/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/mrli/.ssh/id_rsa
Your public key has been saved in /c/Users/mrli/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:zKPeKkm0bNzDqZcHUEDcvvDqPG2znRqDrD30yoBb8MM chenli@sucsoft.com
The key's randomart image is:
+---[RSA 3072]----+
| ooo |
| . o |
| o |
| + .o |
|. + B oS |
| = .B.O. . |
|. E+o*++ |
| o BB.B=.. |
|. ..*B=*+ |
+----[SHA256]-----+

根据命令输出结果可以看到,生成的结果在C:\Users\mrli\.ssh路径下,有id_rsaid_rsa.pub,其中id_rsa.pub为公钥。

  1. 将SSH公钥添加到GitHub账户

    1. 复制文件路径内.pub后缀里的内容
    2. 进入SSH Keys的设置页面(登录GitHub,在右上角头像点击设置)

    add_ssh

    1. 粘贴后,Title会自动提取生成,点击Add key则完成添加

测试

1
2
$ ssh -T git@gitlab.sucsoft.com
Welcome to GitLab, @chenli!

More

配置多个Git信息

  1. 将默认的id_rsaid_rsa.pub改成指定的如id_rsa_sucsoft.pub
  2. .ssh/路径下添加config配置文件,对应填写
1
2
3
4
5
6
7
8
9
10
11
12
Host github.com                 
HostName github.com
IdentityFile C:\\Users\\mrli\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User Freedomisgood


Host gitlab.sucsoft.com
HostName gitlab.sucsoft.com
IdentityFile C:\\Users\\mrli\\.ssh\\id_rsa_sucsoft
PreferredAuthentications publickey
User chenli

注意:Host后写的就是ssh -T git@gitlab.sucsoft.com中@后面的内容,如果写的是sucsoft,则写成ssh -T git@sucsoft,但是这样其实跟Gitlab页面中直接提供的不一样: git@gitlab.sucsoft.com:suc-frame/xxxx.git,所以最好还是规范的写gitlab.sucsoft.com

★配置完成后最终文件夹中的内容:

more-1

注: known_host是自动生成的,如果第一次SSH连接网站,则会将host添加到这个文件中

Author: Mrli

Link: https://nymrli.top/2022/02/25/私有Gitlab配置SSH连接/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
研究生work——地图匹配
NextPost >
Golang protoc的使用
CATALOG
  1. 1. 生成SSH秘钥和公钥
    1. 1.1. 查询有效邮箱
      1. 1.1.1. 查询方法(一)——新建项目
      2. 1.1.2. 查询方法(二)——个人Preference
    2. 1.2. Gitlab设置公钥
    3. 1.3. 测试
  2. 2. More
    1. 2.1. 配置多个Git信息