查看自己所有的SSH-Key
$ cd ~/.ssh
$ ls
id_rsa
id_rsa.pub
known_hosts
如果你已经创建过git账号那你可能和我一样会看到只有一个SSH-Key,
这个SSH-Key是我在公司Gerrit(你也可以理解为gitlib一样的东西)所使用的SSH-Key。
由于公司所用邮箱于github上邮箱不一致,如果重复生成新的SSH-Key只会吧之前的公司的SSH-Key覆盖掉,这样并不是问所想看到的结果。
废话说完了,就开始说说怎么解决这个问题:
第一步,生成公司的所用的SSH-Key
如果你和我一样已经有公司的一个SSH-Key,可以直接跳过这一步
$ ssh-keygen -t rsa -C "公司所用邮箱"
SSH-Key
第一个内容输入ompany_id_rsa
(给你公司的SSH-Key起一个可以区分的名字)
余下的一路回车即可
到这里,你公司的ssh-keygen就完成了,查看一下
$ cd ~/.ssh
$ ls
ompany_id_rsa
ompany_id_rsa.pub
known_hosts
第二步,生成自己其他的SSH-Key(如Github)
和第一步同样的步骤,执行:
$ ssh-keygen -t rsa -C "github所用邮箱"
第一个内容输入github_id_rsa
(给你另一个SSH-Key起一个独有的名字用于区分)
余下的一路回车即可
让我们ls查看一下 :
$ cd ~/.ssh
$ ls
github_id_rsa
github_id_rsa.pub
ompany_id_rsa
ompany_id_rsa.pub
known_hosts
可以看到目前我们拥有两个不同的SSH-Key,这两个SSH-Key,一个用于公司,一个用于github。现在还需要关键一步,接着往下看...
第三步,添加config配置文件用于区分多个SSH-Key
# 公司(Gerrit)
Host gitlab.com
HostName gerrit.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/ompany_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
保存后配置**_id_rsa.pub公钥,以github为例
打开github选择右上角头像下拉框选择Settings
找到SSH and GPG keys选项,
点击New SSH key按钮添加公钥。
公钥即为~/.ssh/**_id_rsa.pub文件中的内容
我这里使用的是github的github_id_rsa.pub
好了,你可以愉快去试试了。?