同时管理多个 SSH Private Key

SSH可以让我们通过不同的私钥来登陆不同的域。

生成私钥

在新增私钥的时候,通过指定不同的文件名来生成不同的私钥文件:

1
2
3
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "Key for GitHub"
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitcoding -C "Key for GitCoding"
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitosc -C "Key for GitOSC"

配置Config

新增SSH的配置文件,并修改权限:

1
2
touch ~/.ssh/config
chmod 600 ~/.ssh/config

修改Config文件的内容:

1
2
3
4
5
6
7
8
9
10
11
Host github.com
IdentityFile ~/.ssh/id_rsa_github
User Sunnyyoung

Host coding.net
IdentityFile ~/.ssh/id_rsa_gitcoding
User Sunnyyoung

Host oschina.net
IdentityFile ~/.ssh/id_rsa_gitosc
User Sunnyyoung

测试

1
ssh -vT git@github.com

最终SSH会根据登陆不同的域来读取相应的私钥文件。