Windows下Git多账号配置,同一电脑多个ssh-key的管理

1. 生成github.com对应的私钥公钥(本文中文件地址C:\Users\popfisher目录)

执行命令 ssh-****** -t rsa -C email 创建github对应的sshkey,命名为id_rsa_company,密码 123456 

ssh-****** -t rsa -C [email protected]

id_rsa_company

 

Windows下Git多账号配置,同一电脑多个ssh-key的管理

2. 同样的方式生产git.oschina.net的私钥公钥(邮箱地址可以相同可以不同,本文相同)

执行命令ssh-****** -t rsa -C email创建github对应的sshkey,命名为id_rsa_myself,密码 123456 

ssh-****** -t rsa -C [email protected]

 

id_rsa_myself

 

Windows下Git多账号配置,同一电脑多个ssh-key的管理

3. 把上面得到的文件拷贝到git默认访问的.ssh目录(win10在用户目录下,本文C:\Users\popfisher.ssh)

除了秘钥文件之外,config文件是后面的步骤中手动生产的,known_hosts文件是后续自动生产的

Windows下Git多账号配置,同一电脑多个ssh-key的管理

 

4. 把github对应的公钥和oschina对应的公钥上传到服务器

 GitHub添加SSH key的方式如下图所示:

 

Windows下Git多账号配置,同一电脑多个ssh-key的管理

git.oschina.net添加SSH key的方式如下图所示:

 

Windows下Git多账号配置,同一电脑多个ssh-key的管理

5. 在.ssh目录创建config文本文件并完成相关配置(最核心的地方)

每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可

Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:

Host mygithub 这样定义的话,命令如下,即[email protected]后面紧跟的名字改为mygithub

git clone [email protected]:PopFisher/AndroidRotateAnim.git

 

HostName           这个是真实的域名地址

IdentityFile          这里是id_rsa的地址

PreferredAuthentications   配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等

User            配置使用用户名

 

config文件配置如下:

# 配置github.com Host github.com HostName github.com IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_github PreferredAuthentications publickey User username1 # 配置git.oschina.net Host git.oschina.net HostName git.oschina.net IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_oschina PreferredAuthentications publickey User username2

 

 6. 打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)

 

ssh -T [email protected]

ssh -T [email protected]

Windows下Git多账号配置,同一电脑多个ssh-key的管理

 

 

7. 测试成功之后就可以在电脑上同时使用git多账号同时操作,互不影响了

clone github上的项目AndroidRotateAnim

  打开github上AndroidRotateAnim项目,复制其对应的clone命令入下图所示

Windows下Git多账号配置,同一电脑多个ssh-key的管理

 

 执行clone命令如下:

Windows下Git多账号配置,同一电脑多个ssh-key的管理

 

 

clone oschina.net上的项目AndroidDevTools

  打开git.oschina.net上AndroidDevTools项目,复制其对应的clone命令入下图所示

Windows下Git多账号配置,同一电脑多个ssh-key的管理

 

 执行clone命令如下:

 

Windows下Git多账号配置,同一电脑多个ssh-key的管理