需求:有时候我们的代码托管在多个平台上,这就需要为每个托管平台设置SSH-key
打开git bash:

1,生成一个gitee用的SSH-Key

ssh-keygen -t rsa -C "你的邮箱地址" -f ~/.ssh/id_rsa.gitee

2,生成一个github用的SSH-Key

ssh-keygen -t rsa -C "你的邮箱地址" -f ~/.ssh/id_rsa.github

此时,.ssh目录下应该有4个文件:id_rsa.gitee和id_rsa.gitee.pub,id_rsa.github和id_rsa.github.pub,分别将他们的公钥文件(id_rsa.pub,github_rsa.pub)内容配置到对应的code仓库上

image.png

配置公钥:登录github或你的代码托管平台。右上角你的账号登录个人信息处,点击settings

image.png

点击SSH-keys

image.png

image.png

3,修改配置文件

若.ssh目录(就是私钥所在的文件夹)下无config文件,那么创建

touch config

在config文件添加以下内容

Host gitee.com
HostName gitee.com 
User 你的邮箱地址
IdentityFile 你的密钥路径/.ssh/id_rsa.gitee


Host github.com
HostName github.com  
User 你的邮箱地址
IdentityFile 你的密钥路径/.ssh/id_rsa.github 

4,添加私钥

若执行ssh-add /path/to/xxx.pem是出现这个错误:Could not open a connection to your authentication agent,则先执行如下命令即可:
ssh-agent bash
ssh-add ~/.ssh/id_rsa.gitee $ ssh-add ~/.ssh/id_rsa.github

查看添加的私钥

ssh-add -l

5.测试

ssh -T git@github.com

ssh -T git@gitee.com

输出
Welcome to GitLab, your name!
则说明成功了。

也可以在自己的github上创建一个project之后,再git bash中gitc clone 一下进行测试。

如果你要配置两个github,config如下
Host github.com
HostName github.com  
User 你的邮箱地址
IdentityFile C:/Users/Administrator/.ssh/id_rsa.github 


Host two.github.com
HostName github.com  
User 你的邮箱地址
IdentityFile ~/.ssh/id_rsa.github_two

测试

ssh -T git@github.com
ssh -T git@two.github.com

image.png

Q.E.D.