linux下多个git账号的配置

周末在 deepin linux 上安装深度学习环境的时候,把系统搞挂了,找了一下备份的系统,最近的还在去年 4 月份,思前想后,最后选择了重装系统,顺便记录下笔记。下面的操作实在全新安装的系统上进行了。

安装git

git地址在这里,今天用的是 deepin 所以直接使用源安装。

1
$ apt-get install git

全局配置 name 和 email

1
2
$ git config --global user.name "xxx"
$ git config --global user.email "eamil@qq.com"

生成公钥

创建~/xingmu/.ssh目录,并进入。

1
2
3
$ cd ~
$ mkdir .ssh
$ cd .ssh

~/xingmu/.ssh目录下,用 ssh-keygen 命令生成一组新的 id_rsa_new 和 id_rsa_new.pub,我这里需要使用 github 和 gitee(码云)两个平台,所以需要执行两次命令,分别生成 id_rsa_github/id_rs_github.pub 和 id_rsa_gitee/id_rsa_gitee.pub两组。

1
$ ssh-keygen -t rsa -C "xxx@xxx.com"

需要注意的是,平时都是默认生成 id_rsa 和 id_rsa.pub 。现在要在第一个提示输入出现时分别输入带有表示意义的名字,以便于识别,这里我输入的是 id_rsa_github 和 id_rsa_gitee。

配置config

将公钥分别配置到对应的 git 平台上,然后在~/xingmu/.ssh目录下新建 config 文件,配置参考如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
## github
# 域名地址的别名
Host github
# 这个是真实的域名地址
Hostname github.com
# 配置使用用户名
User xxx@xx.com
# 这里是id_rsa的目录位置
IdentityFile ~/.ssh/id_rsa_github

## 码云
# 域名地址的别名
Host gitee
# 这个是真实的域名地址
Hostname gitee.com
# 配置使用用户名
User xxx@xx.com
# 这里是id_rsa的目录位置
IdentityFile ~/.ssh/id_rsa_gitee

## 以下第三个或者更多

测试

1
2
3
4
$ ssh -T git@github
Hi your name! You've successfully authenticated, but GitHub does not provide shell access.
$ ssh -T git@gitee
Hi xingmu! You've successfully authenticated, but GITEE.COM does not provide shell access.

如果出现如下的提示,选择 yes 继续就可以了

然后就可以愉快的玩耍了!!