Git多用户配置ssh密钥

起因


在我写Win32_PE_Tools工具的时候发布到git的时候突然发现此仓库的提交人是我另一个git账户,即使我的vs2019登陆的是我主git账户.后来想到配置过hexo。
因为我的hexo部署到了git,所以我用了另一个git账户用来做为网站.就是因为该账户的配置shh,导致了我后面其他仓库所有的提交都成为了这个号。


解决

为每个不同的git账户生成ssh密钥文件
1
2
3
ssh-keygen -t rsa -f ~/.ssh/ida_rsa.git_name1 -C "11111@email.com"
ssh-keygen -t rsa -f ~/.ssh/ida_rsa.git_name2 -C "22222@email.com"

这样就会生成两个不同的ssh密钥文件,密钥文件存放在~/.ssh目录下。
为相应的账户添加相对于的ssh公钥。

执行代码
1
2
3
4
ssh-agent bash
ssh-add ~/.ssh/ida_rsa.git_name1
ssh-add ~/.ssh/ida_rsa.git_name2

如果看到
Identitiy added: ~/.ssh/id_ras_name1即成功

将公钥添加到对应的git账户
1
pbcopy < ~/.ssh/ida_rsa.name1
配置config文件

在.ssh目录下新建config文件
填写以下内容:

1
2
3
4
5
6
7
8
9
10
Host github.com_name1
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.git_name1

Host github.com_name2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.git_name2

进行ssh测试

1
ssh -T git@github.com_name1

拉取仓库

1
2
git clone git@github.com_name1:username/project.git
git clone git@github.com_name2:username/project.git