本文以配置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平台上的实践,由于知识有限,可能还是没有总结得很完整,也可能在其他平台上会遇到一些其他的问题,没有时间去研究了,如果读者有遇到什么问题,欢迎留言讨论,共同学习。
相关推荐
开发者碰到同一代码托管平台 来自多个账号的 sshkey 加入开发这 分别加入了 三个 gitee 不同团队的项目 这个时候我们需要配置多个key在 Administrator(当前用户名)/.ssh/ 目录下 需要创建 config文件,git在这里有个...
当一台工作电脑上,需要配置多个git账号的ssh keys时,就需要在.ssh目录下创建该配置文件
Windows下的Git安装配置过程和key生成方式
Windows下搭建基于ssh的git服务器
windows xp git安装包 Git-2.10.0-32-bit,支持Windows XP 32位系统
ssh-copy-id-for-OSX, 快速macosx端口有用的unix实用程序ssh副本 id 用于OSX的 ssh-copy-id实用的unix实用工具 ssh-copy-id的快速端口注意:现在,macOS Sierra在 /usr/bin 中包括一个板载的ssh-copy-id安装git ...
Windows-git安装包下载.
git-lfs-windows-v3.2.0.exe
windows版本git-for-windows下载Git-2.24.1.2-64-bit.exe
wsl-ssh-agent 与WSL的Windows ssh-agent.exe服务进行接口... 注意:如果您需要访问Windows上工具集提供的更多功能(智能卡,身份管理),或者正在寻找与更多实用程序(例如Windows的Git,Putty,Cygwin)的兼容性-您可
最新版windows Git-2.33.1-64-bit.exe最新版windows Git-2.33.1-64-bit.exe
git-lfs安装包
简单记录了CENTOS6中GIT安装,ssh-keygen生成,客户端使用TortoiseGit加载KEYGEN连接GIT服务器的过程。
使用此文件配置ssh代理,配置git通过proxy访问github
windows下git安装包windows下git安装包windows下git安装包windows下git安装包
sshkey 是放在服务器端,这样pull commit push就无需输入密码,这里提供个教程
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Windows系统安装git 全教程 安装步骤 与使用说明 谢谢参考
如果要在命令提示符( cmd )或PowerShell中将ssh与SSH密钥(或通过SSH密钥进行身份验证的git )一起使用,则必须在终端上使用启动脚本,或者在每个实例上手动设置ssh-agent变量。 该程序只是使ssh-agent普遍适用于...
Git是目前非常流行的分布式版本控制系统,由Linus Torvalds为Linux内核开发而创建,该资源包含 Git-2.42.0-64-bit-windows安装版,仅供学习,下载后请及时删除 Git是目前非常流行的分布式版本控制系统,由Linus ...