前言介绍
自己开始用自己的邮箱,注册了ssh key,将公钥添加到了github上,但现在公司要求使用企业邮箱生成公钥,将使用公司的企业邮箱生成的公钥添加到自己公司搭建的gitlab私服上,由此以来开始了下面的折腾。同时使用多个邮箱,注册多个公钥。
1.先使用自己的邮箱生成第一个key
1 2
| ssh-keygen -t rsa -C "yourEmail@xxx.com"
|
第一个key一路回车,生成以后,在终端中执行下面命令进行查看
- 此时,.ssh文件中多个两个文件 id_rsa 私钥,id_rsa.pub
2.在使用公司邮箱生成第二个key
1 2
| ssh-keygen -t rsa -C "companyEmail@xxx.com"
|
回车以后:在下面的操作中,给第二个key取一个名字,用于区分。如果一路回车会覆盖掉第一次生成的秘钥。
1
| Enter file in which to save the key (/Users/Shinancao/.ssh/id_rsa): id_rsa_customName
|
- 现在,再执行命令 open ~/.ssh命令,我们能看到 .ssh文件中又多了两个秘钥
3.在.ssh文件夹中创建一个config文件
配置config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # github
Host github HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa User github注册的用户名
# custome-gitlab
Host company HostName 192.168.11.XXX port 10080 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_nyso User 注册的用户名
|
4.使用的过程会报错,那是因为我们还没有加载刚才的配置
1 2 3 4 5 6 7
| ssh-add -l
ssh-add ~/.ssh/id_rsa ssh-add ~/.ssh/id_rsa_customName
|
5.设置全局的用户名和邮箱
1 2
| git config --global user.name "your name" git config --global user.email "your email"
|
6.查看配置的结果
1 2
| git config --global user.name git config --global user.email
|
7.设置全局后默认都是,全局配置用户名和邮箱。如果我们想针对不同的仓库,使用不同的用户名和邮箱呢?
1 2 3 4 5 6 7 8 9 10 11
| git config --global --unset user.name git config --global --unset user.email
git config user.email "your name" git config user.email "your email"
git config user.name git config user.email
|
8.大功告成,可以下班回家喽。😁