如何同时使用多个SSH公钥
如果你已经有了一套ssh(我的电脑上就有好几套如github/oschina/gitlab,三者各不一样),为了保证各个服务能正常使用需要配置多个SSH Key。可以按照以下的步骤来实现多套SSH Key的共同工作:
一、生成SSH密钥
假设你已经有了一套名为id_rsa
的公秘钥,将要生成的公秘钥名称为gitlab,你也可以使用任何你喜欢的名字。记得把以下命令中的YOUR_EMAIL@YOUREMAIL.COM
改为你的Email地址
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/gitlab
说明:
(1)-f
后面的参数是自定义的SSH Key的存放路径,将来生成的公秘钥的名字分别是gitlab.pub
和gitlab
(2)其他的和上面生成密钥的步骤相同,只是多了下面的配置的步骤
二、添加生成的SSH
1.添加SSH公钥到gitlab
(1)打开https://gitlab.com/profile
页面,选择SSH Keys.
(2)添加SSH公钥
按照要求填写Title和Key,其中Title是Key的描述信息(如My_work_computer等),Key是上面复制的SSH公钥的内容,直接粘贴到输入框中保存即可。
三、修改配置文件
1)在 ~/.ssh 目录下新建一个config文件
touch config
2)添加内容
# gitlab
Host 公司gitlab的地址 如:192.168.8.4
HostName 公司gitlab的地址 如:192.168.8.4
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github
#github
Host git.oschina.net
HostName git.oschina.net
PreferredAuthentications publickey
IdentityFile ~/.ssh/oschina
四、测试
1.github
1)测试指令
ssh -T git@github.com
2)输出结果
Hi 梧桐雨08! You've successfully authenticated, but GitHub does not provide shell access.
2.gitlab
1)测试指令
ssh -T git@192.168.8.4
2)输出结果
Welcome to GitLab, 梧桐雨08
3.oschina
1)测试指令
ssh -T git@git.oschina.net
2)输出结果
Welcome to Git@OSC, 梧桐雨08!