在同一台电脑上有多个github账户时,切换ssh key会比较麻烦,可以使用ssh config来简化这一动作。
在使用ssh-keygen
时,为不同的账户选择不同的ssh key文件。
1
2
| hrh@Solarex:~$ ls ~/.ssh/
id_rsa_accountA id_rsa_accountA.pub id_rsa_accountB id_rsa_accountB.pub known_hosts config
|
在~/.bashrc
中添加ssh key。
1
2
| ssh-add ~/.ssh/id_rsa_accountA >/dev/null 2>&1
ssh-add ~/.ssh/id_rsa_accountB >/dev/null 2>&1
|
配置ssh config文件~/.ssh/config
。
1
2
3
4
5
6
7
8
9
10
11
| #AccountA
Host github-a.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_accountA
#AccountB
Host github-b.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_accountB
|
这样以后使用AccountA时可以git clone git@github-a.com:user/repos.git local_dir
这样操作,clone下来后可以cd local_dir
对user.name
和user.email
来进行config来覆盖global config,剩下的就和平时没有什么区别了,使用AccountB时相似操作就可以了。