github中一个deploy key只能用在一个仓库内,如果一台机器要管理多个仓库,就得配置多个deploy key。

一、生成并添加第一个ssh key

$ ssh-keygen -t rsa -C"youremail@xxx.com"

执行命令一路回车,会在~/.ssh/目录下生成id_rsa和id_rsa.pub两个文件

$ cat ~/.ssh/id_rsa.pub

打开id_rsa.pub里的内容,在Github中添加SSH Keys(仓库1)

二、生成并添加第二个ssh key

$ ssh-keygen -t rsa -C"youremail@xxx.com"

这次不要一路回车了,给这个文件起一个名字,假如起名叫idb_rsa_you

$ cat ~/.ssh/id_rsa_you.pub

打开id_rsa.pub里的内容,在Github中添加SSH Keys(仓库2)

三、在.ssh/下创建config文件 内容如下:

Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Host github2
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_you

Host名字随意,接下来会用到。

四、修改本地git仓库配置

1、本地已经创建或已经clone到本地:

打开.git/config文件

更改配置示例(仓库1)

[remote "origin"] 
url = git@github.com:yisonli/yuchen.git

更改配置示例(仓库2)

[remote "origin"]
url = git@github2:yisonli/yisonli.github.io.git

2、clone仓库时对应配置host对应的账户

git clone git@github2:yisonli/yisonli.github.io.git