1. 生成github.com对应的私钥公钥(本文中文件地址C:\Users\popfisher目录)
执行命令ssh-keygen -t rsa -C email 创建github对应的sshkey,命名为id_rsa_github,密码123456
ssh-keygen -t rsa -C 774232122@qq.com
2. 同样的方式生产git.oschina.net的私钥公钥(邮箱地址可以相同可以不同,本文相同)
执行命令ssh-keygen -t rsa -C email创建github对应的sshkey,命名为id_rsa_oschina,密码123456
ssh-keygen -t rsa -C 774232122@qq.com
3. 把上面得到的文件拷贝到git默认访问的.ssh目录(win10在用户目录下,本文C:\Users\administrator\.ssh)
除了秘钥文件之外,config文件是后面的步骤中手动生产的,known_hosts文件是后续自动生产的
4. 把github对应的公钥和oschina对应的公钥上传到服务器
GitHub添加SSH key的方式如下图所示:
git.oschina.net添加SSH key的方式如下图所示:
5. 在.ssh目录创建config文件(无后缀名,就是为了映射)并完成相关配置(最核心的地方)
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可
Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
HostName 这个是真实的域名地址
IdentityFile 这里是id_rsa的地址
PreferredAuthentications配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User 配置使用用户名
配置文件如下:
# 配置github.com
Host github.com
HostName github.com
IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User username1
#gitoschina的配置
Host gitlab.com
HostName gitlab.com
IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa_gitlab
PreferredAuthentications publickey
User username2
#其中PreferredAuthentications和User可以注释掉,好像没起作用
#User 用户名和邮箱都好像可以,反正配置了以后就不用git config user.name拉
6. 打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)
ssh -T git@gitlab.com
ssh -T git@github.com
出现welcome的字样表示成功了。
测试成功之后就可以在电脑上同时使用git多多账号同时操作,互不影响了