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


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

这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作。

本文以配置github.com账号和git.oschina.net账号来逐步演示在Windows环境下配置Git多账号支持即在同一个电脑上管理多个ssh-key,对git多一分了解。

备注:这篇文章所有执行命令的地方都是在管理员模式下进行,即打开cmd,Git Bash客户端用管理员身份运行程序。

 

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\popfisher.ssh)

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

 

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

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

 

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

 

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

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

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

Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub

git clone git@mygithub: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

复制代码

 

端口号 Port

gitblit:

url:osap.****.com

 

 

 

 

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

 

 

 

 

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

clone github上的项目AndroidRotateAnim

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

 执行clone命令如下:

 

 

clone oschina.net上的项目AndroidDevTools

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

 

 执行clone命令如下:

 

学习心得

在使用git的过程中,一般都只关注单账号的情况吗,工作中的配置也是直接由自己的上级发一个配置文档之类的东西,然后对着搞一遍就行了,可是当自己真正有这个需求的时候,突然发现束手无策。我自己当时也属于这个情况,有一天在家里,突然发现自己需要一台电脑支持多个SSH key的时候才发现自己不知道怎么下手了,于是就下定决心自己动手研究一下。对于技术,还是要亲自动手实践,实践出来的东西才能形成自己的真理,才不那么容易忘记。 

这篇文章是我基于Win10平台上的实践,由于知识有限,可能还是没有总结得很完整,也可能在其他平台上会遇到一些其他的问题,没有时间去研究了,如果读者有遇到什么问题,欢迎留言讨论,共同学习。

 

来自 <https://www.cnblogs.com/popfisher/p/5731232.html>

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:VS2017调试闪退之Chrome
下一篇:AGGrid: cellRenderer单元格渲染
评论列表

发表评论

评论内容
昵称:
关联文章

WindowsGit账号配置电脑ssh-key管理
[实操] WindowsGit账号SSH配置
Visual Studio(VS) 集成 Git 命令窗口 Git Bash
GIT Bash 简单讲解-git如何推/拉代码
FastReport 合并报表,次打印rpt文件
YES.PlanManage 款强大 .NET 定时计划管理 服务框架
在 SA 和 Windows 等账户都被禁用情况如何登录?
次解决Nancy参数绑定“bug”开始发布自己第一nuget包(下篇)
GZDBHelper中Excute方法,外部在链接执行,如果要获取输出参数值,用此方法执行,配合GetParamValue执行,或者多次提交
C# 线程入门系列(
ASP.NET+MVC入门踩坑笔记 () 创建项目 项目配置运行 以及简单Api搭建
【C#】C#中使用GDAL3(三):Windows编译插件驱动
vue vue-clie环境配置
支付宝支付报错:40003,三方应用未绑定服务商账号
C# ASP.NET Core开发学生信息管理系统(
element-ui el-row中有el-col时候,某些情况el-col显示错位
话说C#程序员人手ORM
次解决Nancy参数绑定“bug”开始发布自己第一nuget包(上篇)
GIT彻底删除文件以及历史记录
.Net 高性能分表分库组件-连接模式原理