Git配置多个SSH-Key

默认情况下,我们通过ssh-keygen -t rsa -C “XXXXXX@XXX.com”命令生成的ssh keys是在用户目录的.ssh目录(~/.ssh)中,一个id_rsa,一个id_rsa.pub。
然后一路回车,最后再.ssh目录即可看到id_rsa和id_rsa.pub。将id_rsa.pub文件内容复制并添加到github或gitlab的ssh key。
如果使用了github,同时使用了gitlab,就需要配置多个ssh key,并通过配置config文件用以区分多个ssh key。

比如,我们同时有github和gitee的仓库。
我们通过ssh-keygen -t rsa -C "xxx@xx.com" -f ~/.ssh/github_id-rsa来将ssh key保存到单独的文件。

针对github和gitee分别执行上面的命令,在~ssh目录可以看到如下4个文件,带.pub的是公钥文件,也是我们需要在github或gitee的ssh key中添加的文件,不带后缀的是私钥文件。

image-20191127194958561

然后将.pub文件的内容添加到github/gitee的ssh key。

image-20191127200235976

如果想让多个ssh key生效,还需要有一个config文件,在~ssh目录创建config文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id-rsa
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id-rsa
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径

然后我们可以通过ssh -T git@github.comssh -T git@gitee.com来测试配置是否成功。

image-20191127195420132

如果看到上面的欢迎信息,则说明配置成功!

参考:http://blog.csdn.net/birdben/article/details/51824788

Author: Donny
Link: https://tommy88.top/2018/01/02/Git-config-multi-SSH-Key/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
微信打赏