ssh配置不同key以便于访问不同帐号

目标

3 个帐号对应 3 个 key，同时使用。

Github-senlief - senlief.github

Github-janzbff - janzbff.github

Gitlab-moqi - moqi.gitlab

生成需要 3 个密钥对

Copy
$ ssh-keygen -t ecdsa -f ~/.ssh/senlief.github
$ ssh-keygen -t ecdsa -f ~/.ssh/janzbff.github
$ ssh-keygen -t ecdsa -f ~/.ssh/moqi.gitlab

在对应网站和帐号设置 3 个公共密钥

Copy
$ cat ~/.ssh/senlief.github.pub
$ cat ~/.ssh/janzbff.github.pub
$ cat ~/.ssh/moqi.gitlab.pub

设置 config 文件

Copy
# 编辑config文件没有就新建一个
$ vim ~/.ssh/config

示例如下

Copy
# senlief.github
Host senlief.github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/senlief.github

# janzbff.github
Host janzbff.github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/janzbff.github

# moqi.gitlab
Host moqi.gitlab
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/moqi.github

测试

Copy
# 用Host代替Hostname
$ ssh -T git@senlief.github
$ ssh -T git@janzbff.github
$ ssh -T git@moqi.gitlab

Enjoy!

clone 只需要把 git 地址中的 Hostname 替换为 Host 即可。