多组SSH-Key公钥/私钥的配置

由于在同时使用GithubGit@OSchina(Github私有库需要收费且Git@OSchina在国内的访问速度较快),所以需要设置两组SSH-Key。

本地生成公私钥

Step1. 本地生成ssh keys命令:ssh-keygen -t rsa -C "注册邮箱",生成的公私秘钥会提示是否需要重命名,键入自定义名称(防止再次生成的秘钥覆盖之前的),可跳过密码设置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 生成github ssh keys
$ ssh-keygen -t rsa -C "githubEmail"
Generating public/private rsa key in pair...
Enter file in which to save the key ("默认位置"): ~/.ssh/github_rsa
Enter passphrase ...
...

# 生成git@oschina ssh keys
$ ssh-keygen -t rsa -C "git@oschinaEmail"
Generating public/private rsa key in pair...
Enter file in which to save the key ("默认位置"): ~/.ssh/oschina_rsa
Enter passphrase ...
...

Step2. 配置config将两组秘钥对应到相应的远程仓库。在.ssh/目录下新建config文件,其中Host是一个别名,命名可以随意,用来进行远程连接,当然使用真实的主机名称也是可以的。HostNameIdentityFile是各自主机名称以及对应的秘钥文件。

1
2
3
4
5
6
7
8
9
10
11
#github configuration
Host github.com
HostName github.com
IdentityFile ~/.ssh/github_rsa
User githubEmail

#gitoschina configuration
Host git.oschina.net
HostName git.oschina.net
IdentityFile ~/.ssh/oschina_rsa
User git@oschinaEmail

将公钥添加到账户

分别将生成的公钥添加到相应的Git账户

测试

测试Git连接,提示是否建立连接:yes。成功后会提示Welcome...

1
2
$ ssh -T git@github.com
$ ssh -T git@git.oschina.net