本文以配置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生成方式 #### 一、Git简介与作用 Git是一种分布式版本控制系统,广泛应用于软件开发领域。它可以帮助开发者高效地管理代码变更历史、分支合并等复杂操作。对于团队协作来说,...
Git是一款分布式版本控制...总之,TortoiseGit作为Git的可视化工具,大大简化了Windows用户的Git操作流程,而配置SSH公钥则保证了安全的远程连接。通过熟练掌握这些基本操作,你将能够更加高效地使用Git进行版本控制。
### Git SSH Key 配置与常见问题解决 #### 背景介绍 在进行Git操作时,为了提高安全性以及方便管理,通常会采用SSH密钥的方式进行身份验证。这种方式不仅能够避免频繁输入密码,还能有效地保护用户的账号安全。在...
假设您收到了多个公钥文件,存储于`/home/git/.ssh/`目录下: ```bash cat /home/git/.ssh/id_rsa.client.pub >> ~/.ssh/authorized_keys cat /home/git/.ssh/id_rsa.carol.pub >> ~/.ssh/authorized_keys cat ...
windows 下git服务器的搭建(密码登陆) windows git copssh tortoisegit
这个“git-repo-0.7.3.1-Windows-64.zip”文件是Git Repo的一个Windows 64位版本的压缩包,它包含了运行和管理Git仓库所需的所有组件。以下是关于Git Repo及其相关知识点的详细说明: 1. **Git**: Git 是一个分布式...
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 ...
Git for Windows 2017 最新版,Git-2.15.0 是Git的Windows适配版本,它为Windows用户提供了完整的Git功能,并且优化了在Windows环境下的使用体验。Git是一个分布式版本控制系统,由Linux之父Linus Torvalds开发,...
Git for Windows,具体版本为Git-2.16.2-64-bit,是一款专为Windows用户设计的Git客户端工具。Git本身是一个分布式版本控制系统,由Linux创始人Linus Torvalds开发,它允许开发者对软件项目进行高效、灵活的版本管理...
本文将详细讲解如何配置Git,并结合STM(意指STM32微控制器或其他基于STM技术的硬件平台)开发环境,介绍如何在RT-Thread Studio中使用内置Git插件管理项目。 首先,让我们了解Git的基础知识。Git由Linux之父Linus ...
Git-2.18.0-64-bit是Git官方发布的一个针对64位Windows系统的更新版本,旨在提供更稳定、高效和功能丰富的代码管理体验。 1. Git的基本概念: - 版本控制:Git的核心功能是版本控制,它记录了代码的每一次修改,...
标题中的"ssh-url-with-ssh-key"是一个工具或脚本,它的主要功能是将SSH(Secure Shell)密钥集成到SSH URL中,以便在自动化环境中更方便地进行身份验证和远程操作,尤其适用于GitHub这样的Git仓库管理平台。SSH是一...