Git配置多个SSH-Key(在一台电脑上,如何配置多个SSH Key?/多个用户身份)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git配置多个SSH-Key(在一台电脑上,如何配置多个SSH Key?/多个用户身份)相关的知识,希望对你有一定的参考价值。

参考技术A 一般情况下,我们只会生成一个SSH Key,名字叫id_rsa,然后提交到多个不同的网站(如:GitHub、DevCloud、Gitee、GitLab)。
eg:尝试给Github配一个ssh。首先需要做的就是在命令行中输入以下指令

复制id_rsa.pub到对应的Git服务器即可。

但是也存在另一种需要,我们在同一个网站上,注册了两个或者多个用户名,通常网站不会允许我们为这两个用户名,配置同一个SSH Key,这时候就会有些麻烦。
a. 一个gitee,用于A项目的一些开发活动;
b. 一个github,用于B项目的一些开发活动;
c. 一个gitlab,用于C项目的一些开发活动;

针对不同的账户,生成一个不同用途的SSH-Key,然后进行相关的配置即可。
下面以mac 设备为例:
1.生成对应的SSH-Key:
生成一个gitee用的SSH-Key

生成一个github用的SSH-Key

生成一个gitlab用的SSH-Key

2.在 ~/.ssh 目录下新建一个config文件(终端:touch config),添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)

3.然后进入 ~/.ssh ,拷贝不同的xxx_id_rsa.pub到不同的服务器进行配置,eg:拷贝 github_id_rsa.pub 内容,然后,进入Github,在Your profile里,点击左边SSH keys,再在右边点击Add SSH key按钮,如图:

其中,Title随便填,将id_rsa.pub里的内容复制到Key中,点击下方的Add key按钮。
4.用ssh命令分别测试

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

如何在一台机子上配置两个github

前几天,有这么一个需求,自己的域名网站都已搭好,却发现代码无法上传的阿里云,查看原因是之前电脑配置了个公司的阿里云私钥,使用了git的默认配置方式,直接生成的ssh key,而当一台机子上想要上传两个git地址的时候,却不能这样,必须增加~./ssh下的config文件,话不多说,上代码

 

第一

#default work

#Host code.aliyun.com

#HostkeyAlgorithms ssh-dss

 Host work

 HostName code.aliyun.com

 IdentityFile ~/.ssh/id_rsa

 Host private

 HostName  code.aliyun.com

 IdentityFile ~/.ssh/private

 

 

在不同的git根目录配置

#在不同.git文件下config 中设置 不同的局部变量
git config  user.name "name"
git config  user.email "email"

 

星星:其中,HostName可以相同,代表的是服务器ip地址或机器名,而Host 相当于是别名,IdentityFile则是你私钥的路径,而公钥则贴到你想要上传的项目中

 

这样配置后,你可以进行测试,地址中原来的 code.aliyun.com 改成work或者private,代表你使用的相应的私钥,其他不变。

第二

其实上述配置,如果你平时是用命令行的话,已经可以了,如果是图形化工具,那么还是建议继续配置   参考于 https://www.jianshu.com/p/29688a99c7d8

 

 

[remote "origin"]
  url = [email protected]/*替换*/   /test.git fetch = +refs/heads/*:refs/remotes/origin/*
 
#or
[remote "origin"]
  url = git@/*替换*/   /test.git fetch = +refs/heads/*:refs/remotes/origin/*
 
测试 ssh -T git@Host
 
这样,整个流程就通了



 

 

以上是关于Git配置多个SSH-Key(在一台电脑上,如何配置多个SSH Key?/多个用户身份)的主要内容,如果未能解决你的问题,请参考以下文章

一台电脑上配置多个git的ssh key

一台电脑存放多个git账户的多个rsa秘钥(转)

如何在一台机器上配置多个RabbitMQ

在一台电脑上,添加多个Git的ssh key

(转)如何在一台电脑上开启多个tomcat 和配置让系统识别哪个具体的tomcat

git如何配置多个ssh-key