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