因新环境利用内部邮箱创建git账账号管理项目,自己玩时有一个git账号。公司绑定gitLab,自己绑定了git.coding.net以及gitHub.com。从而两则在提交代码时发生了权限问题以及冲突。
本文在windows环境下配置Git多账号支持SSH-KEY。配置github.com、git.coding.net 、gitLab的SSH-KEY.
<span style="color:red" >注意:因本已配置SSH-KEY,在此就不测试。发截图即可。</span>
生成gitHub.com以及gitLab对应的私钥公钥(目录一般存在于C:\Users.ssh)
执行命令 ssh-keygen -t rsa -C email 创建github对应的sshkey,命名为id_rsa_github
gitHub.com与coding所用秘钥相同,id_rsa.pub属于gitLab,id_rsa_github属于gitHub,coding
把github对应的公钥和coding对应的公钥上传到服务器
分别在gitHub、coding、以及gitLab配置SSH-KEYS
在此举例gitHub如下:
在.ssh目录创建config文本文件并完成相关配置(最核心的地方)
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile、User属性即可
参数名 |描述
--|---|--
Host | 设想名称
HostName | 这个是真实的域名地址
IdentityFile | 这里是id_rsa的地址
PreferredAuthentications | 配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User | 配置使用用户名
# gitLab
Host chenwu@meillie.com
HostName chenwu@meillie.com
User chenwu
IdentityFile ~/.ssh/id_rsa
PreferredAuthentications publickey
# 配置github.com
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_ras_gitHub
PreferredAuthentications publickey
User UpdateCw
# 配置coding.net
Host git.coding.net
HostName git.coding.net
IdentityFile ~/.ssh/id_ras_gitHub
PreferredAuthentications publickey
User UpdateMe
打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)
学习心得
实践才是检验真理的源头