背景
在我们的开发工作中,我们会有这样的需求:即在一台电脑上管理多个账户。比如:我在GitHub上有一个账户,在Gitlab上有一个账户,在CSDN的CODE上也有一个账户。我们需要为不同的账户生成不同的密钥,但是在生成密钥的时候默认的是id_rsa私钥和id_rsa.pub公钥,但是我们可以改公私钥的文件名。生成公钥的密令如下:ssh-keygen -t rsa -C “您的邮箱地址”
在这个命令里你可以填写一个公私钥的文件名,比如new_id_isa。但是Git在匹配公私钥的时候只会找默认的id_isa和id_isa.pub,所以这个时候呢,我们就需要把我们刚才创建的这个new_id_isa加入到Git的管理中。
实现
在.ssh下面创建config文件
命令如下:
进入到.ssh文件夹下:cd ~/.ssh
创建config文件: touch config
在config文件里输入一些内容:
Host gitlab.alibaba-inc.com
HostName gitlab.alibaba-inc.com
User git
IdentityFile C:/Users/zkn/.ssh/id_rsa
Host code.csdn.net
HostName code.csdn.net
User git
IdentityFile C:/Users/zkn/.ssh/new_id_rsa
接着执行: ssh -vT git@code.csdn.net
然后就OK了。这个时候你在去关联你的远程库,pull push都没问题了。
注意:Host 相当于是别名,最好HostName保持一致,不一致也没问题。
User git这个是用的git协议。
IdentityFile 就是你新创建的私钥的文件。
PS
网上有说用
ssh-add ~
/.ssh/i
d_rsa_work这个命令的,但是八九成是不行的,如果可以的话,那你是很幸运。