在同一台电脑上为不同账号在同一GIT服务器上配置不同的SSH KEY
公司中使用code.aliyun.com作为代码仓库,在配置ssh key时显示密钥和验证指纹冲突了,后面查找了一些资料,发现可以使用GIT为每个账号都生成一个密钥和公钥,然后通过SSH代理的方式就可以解决冲突了
先来看一下冲突的信息
意思就是说密钥和指纹已经被使用过了,可能是因为在同一个平台,进行校验的方式有关。
好了,既然有冲突,那我们就解决冲突吧 [问题终结者(^ _ ^)]
生成密钥的时候,第一次需要我们定义下生成密钥的名称,尽量便于区分,第二次是输入密码,第三次是确认密码,如果有需要可以设置密码,我喜欢省事的,没有设置密码。剩下的可以直接回车即可!
好了,现在可以发现,在.ssh文件夹中多出了几个文件
其中有GIT默认生成的公钥和私钥名称,下面是我们通过不同的账号生成的私钥和公钥文件
高能!接下来是重点了
我们先执行下面的命令,启动ssh代理程序
ssh-agent bash
然后将我们生成的SSH私钥自定义文件添加到ssh中,让他帮我们做事
ssh-add [文件名]
接下来开始配置我们的不同的账号对应不同的ssh key文件,将他们与GIT远程服务器关联起来
检查下.shh文件夹中有没有config文件,如果没有可以创建一个配置文件
touch config
编辑config文件,我是用的是vim编辑器
vim config
我们添加如下的配置信息,需要注意的是,不同账号的Host映射的名称不能重复,否则只有第一个生效
Host code.aliyun.com
HostName code.aliyun.com
User 用户名
IdentityFile ~/.ssh/mycode
Host code.aliyun.com
HostName code.aliyun.com
User 用户名
IdentityFile ~/.ssh/workcode
名称 | 释义 |
---|---|
Host | Git映射名称,使用时改为(git@[Host].aliyuan.com) |
HostName | Git服务器的域名,使用IP地址也可 |
User | 你在Git服务器使用的用户名,使用ssh-add时的用户名也可 |
IdentityFile | 配置对应的私钥文件存放的地址,建议写全地址 |
配置完成之后,我们可以通过下面的命令去检查一下
ssh -T git@code.aliyuan.com
如果出现一下信息,说明我们成功了!
如果没有成功,可以重复执行下shh-agent bash, 然后将公钥配置到你的code.aliyun.com中,尽量将你的多个账号生成的公钥都配置上去,然后再进行测试连接。