Git配置多个SSH-Key

320 阅读1分钟

记录我的github 设置公钥总是出问题,配置github 和 gitee 两个仓库的公钥

背景

当有多个git账号时,比如:

a. 一个gitee,用于公司内部的工作开发;
b. 一个github,用于自己进行一些开发活动;

解决方法

如果没有公钥 创建一个公钥,github 和 gitee 都是一样的方式

ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"  

这里的到的是一个通用的加密文件, 下面是针对不同电脑地址产生的,不同的ssh 公钥,并且特殊命名:

  1. 生成一个公司用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
  1. 生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
  1. 在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中HostHostName填写git服务器的域名,IdentityFile指定私钥的路径)
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

4.用ssh命令分别测试

$ ssh -T git@gitee.com
$ ssh -T git@github.com
  1. 设置ssh 拷贝 gitee_id_rsa.pub 文件到项目中

image.png 保存成功即可 image.png 再测一次

$ ssh -T git@gitee.com
$ ssh -T git@github.com

这里以gitee为例,成功的话会返回下图内容

image.png

image.png

都成功了