【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理
Windows下Git多账号配置,同一电脑多个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主要配置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 配置使用用户名
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文件把私钥配置进去)

7. 测试成功之后就可以在电脑上同时使用git多多账号同时操作,互不影响了
clone github上的项目AndroidRotateAnim
打开github上AndroidRotateAnim项目,复制其对应的clone命令入下图所示

执行clone命令如下:

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

执行clone命令如下:

学习心得
在使用git的过程中,一般都只关注单账号的情况吗,工作中的配置也是直接由自己的上级发一个配置文档之类的东西,然后对着搞一遍就行了,可是当自己真正有这个需求的时候,突然发现束手无策。我自己当时也属于这个情况,有一天在家里,突然发现自己需要一台电脑支持多个SSH key的时候才发现自己不知道怎么下手了,于是就下定决心自己动手研究一下。对于技术,还是要亲自动手实践,实践出来的东西才能形成自己的真理,才不那么容易忘记。
这篇文章是我基于Win10平台上的实践,由于知识有限,可能还是没有总结得很完整,也可能在其他平台上会遇到一些其他的问题,没有时间去研究了,如果读者有遇到什么问题,欢迎留言讨论,共同学习。
【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理的更多相关文章
- Windows下Git多账号配置,同一电脑多个ssh-key的管理
这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作. <Git-Tort ...
- windows下git识别大小写配置
默认情况下windows上的Git客户端,在文件名仅发生大小写改变时不会识别,提交后发现,gitlab上的文件名不会发生变化. 解决方法: 编辑 .git 中的config文件, 将 ignoreca ...
- Cocos Creator JS web平台复制粘贴代码(亲测可用)
Cocos Creator JS web平台复制粘贴代码(亲测可用) 1 webCopyString: function(str){ var input = str; const el = docum ...
- 配置多个JDK存在的问题与解决方案 (亲测可用)
安装多个JDK时的技巧 (亲测可用) 我的电脑本来是JDK8的,后来的想在不同的JDK版本下测试JDK的垃圾回收器. 一开始的的思路是,先安装JDK,为每个JDK配置自己的家目录,然后在想用哪个版本的 ...
- IntelliJ13+tomcat+jrebel实现热部署(亲测可用)
网上有很多介绍intellij idea整合jrebel插件实现热部署的文章,但是有的比较复杂,有的不能成功,最后经过各种尝试,实现了整合,亲测可用!步骤说明如下: 一.先下载jrebel安 ...
- Spring4.0.1+Quartz2.2.1实现定时任务调度[亲测可用]
Spring4.0.1+Quartz2.2.1实现定时任务调度[亲测可用] tip:只需要配置xml文件即可 1.第三方依赖包的引入 <properties> <project.bu ...
- cordova-plugin-alipay-v2使用篇(更新至20170725)(亲测可用)
cordova-plugin-alipay-v2使用篇(更新至20170725)(亲测可用) alipaySdk已更新至20170725版本 支付宝WS_APP_PAY_SDK_BASE_2.0 &l ...
- office2010安装与破解,笔者亲测可用!!!!!!
我们首先需要准备office2010安装包与破相应的破解软件.软件包的获取方式:扫码关注[猿成长],,回复 office2010安装,即可获取,下载解压后文件目录结构如下图所示: 打开安装程序文件夹, ...
- mybatis自动生成代码插件mybatis-generator使用流程(亲测可用)
mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间 坐着在idea上用maven构建spri ...
随机推荐
- ubuntu上安装boost库
只需一条命令: sudo apt install libboost-dev
- Gym - 101806R :Recipe(分治+斜率优化)
题意:有一个厨师,他买菜-做菜-买菜-做菜....-做菜,一共有N天,他的冰箱里只能有一个菜,在他做菜的第二天才会买菜,如果菜不做,放在冰箱里,每天新鲜程度会下降1. 第一天也会买菜,第i天的菜新鲜程 ...
- hello1.java内容简单介绍
双击该Hello.java文件以查看它. 在Hello类,称为管理bean类,提供了getter和setter方法name中的Facelets页面表达式中使用属性.默认情况下,表达式语言引用类名,第一 ...
- C++ 作业 (循环链表构建队列)
/* author screen name Andromeda_Galaxy; chinese name 杨子俊 */ #include<bits/stdc++.h> using name ...
- vue项目的创建
https://jingyan.baidu.com/article/456c463b359e630a5931444e.html
- 《DSP using MATLAB》Problem 6.15
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- Python知识点整理,基础3 - 字典操作
- 【BZOJ4300】 绝世好题
傻逼题都不能一眼看出思路…… 原题: 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). n<=100000,ai&l ...
- react 简书开发笔记
详见文章<React简书开发实战课程笔记>
- Java基础一(开发环境、注释、关键字、标识符、数据)
1.Java开发环境搭建2.HelloWorld案例3.注释.关键字.标识符4.数据(数据类型.常量) ###01java语言概述 * A: java语言概述 * a: Java是sun公司开发的一门 ...