git ssh key的多账号管理
大家好,很开心跟大家分享,git ssh key的多账号管理。写这篇文章的起因是我公司使用的gitlab,个人使用的github,这两者的邮箱不同,ssh key 也不同,生成第二个git的key的时候会覆盖第一个的key,必然有一个用不了。百度一大波,终于搞定!
其实在~/.ssh目录下新建一个config文件配置一下,就可以解决问题。详细步骤跟大家讲一下:
第一步:生成ssh key ,github 使用邮箱[email protected]、gitlab使用邮箱[email protected]举例,各位可以改成自己的,在命令行(或者cmder)输入 ssh-****** -t rsa -C "[email protected]" , 回车,并给存放可以的文件命名为id_rsa_hub,接着两个回车,github公钥私钥生成。
输入 ssh-****** -t rsa -C "[email protected]" , 回车,并给存放可以的文件命名id_rsa,接着两个回车,gitlab公钥私钥生成。
第二步:查看以上两对公钥私钥
第三步:sublime打开id_rsa_hub.pub,复制备用,登录github,找setttings,ssh key ,添加这个公钥,同理打开id_rsa.pub登录gitlib,添加公钥。
第四步:创建并修改config文件 ,命令行输入touch config,添加以下内容,特别注意,缩进行,只能缩进一行。
第五步:如果之前有设置全局用户名和邮箱的话,需要unset一下,可通过$ git config --list来查看全局配置,
$ git config --global --unset user.name $ git config --global --unset user.email
第六步:测试,如果没有known_hosts文件,会报错哦,可以在测试的时候,输入yes生成。
$ ssh -T [email protected] #输出:Hi user1! You've successfully authenticated, but GitHub does not provide shell access. $ ssh -T [email protected]的IP #输出:Hi [email protected]**, this is [email protected]
测试成功。如果出什么问题,可以通过ssh -vT [email protected]
来输出编译信息,然后根据编译信息去解决问题。小知识分享--------