git多账号配置

在实际工作中,常常会遇到多个git帐号(即多个远程仓库)的情况,这时候如果只有一个SSH-key则无法满足现有要求,故需要配置一下多ssh-key的情况,本事例以github.com和git.oschina.net两个帐号为例,进行详细操作说明。(本文以windows10操作系统为例)

1.生成github.com和git.oschina.net对应的私钥和公钥

切换到git默认访问的.ssh目录下(本文默认路径为c/Users/landyChris/.ssh)

默认路径.png

1.1生成github.com私钥和公钥

执行命令:

ssh-keygen -t rsa -C xxxx@hotmail.com

创建github对应的sshkey,命名为id_rsa_github,密码 123456(密码可以为空)

生成github公钥密钥.png

1.2生成git.oschina.net私钥和公钥

以同样的方式生成,邮箱的地址可以相同,也可以不同,看自己具体的git仓库的帐号而定。

生成oschina公钥密钥.png

由以上操作后,.ssh目录下含有以下文件。

image.png

共有4个文件(id_rsa和id_rsa.pub为之前安装git时候产生的公钥和密钥文件),分别是github和oschina的公钥和密钥文件。

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

2.1 github

选择account-->setting进行配置,如下图所示:

image.png

找到SSH AND GPG KEYS菜单,点击New SSH Key按钮,如下图所示:

image.png

然后输入上面步骤生成的公钥,

image.png

2.2 oschina

同理在https://gitee.com/profile/sshkeys 上即可设置oschina的公钥,如下图所示步骤。

image.png

3.在.ssh目录下创建config文本文件并完成相关配置(重点)

每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可
Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
git clone git@mygithub:landy8530/hello-world

HostName           这个是真实的域名地址
IdentityFile          这里是id_rsa的地址
PreferredAuthentications   配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User            配置使用用户名

配置事例如下:

# 配置github.com
Host github.com                 
    HostName github.com
    IdentityFile C:\\Users\\landyChris\\.ssh\\id_rsa_github
    PreferredAuthentications publickey
    User landy8530

# 配置git.oschina.net
Host git.oschina.net
    HostName git.oschina.net
    IdentityFile C:\\Users\\landyChris\\.ssh\\id_rsa_oschina
    PreferredAuthentications publickey
    User landy8530

4.执行测试命令(会自动生成known_hosts文件把私钥配置进文件中)

测试github:

ssh -T git@github.com 
image.png

测试oschina:

ssh -T git@git.oschina.net
image.png

出现以上信息,说明两个git帐号已经配置成功!

5.多账号操作事例

测试成功后,就可以在电脑上使用git多账号进行同时互不影响的操作了。
例如:clone gitbub上的hello-world的一个demo事例:https://github.com/landy8530/hello-world.git
操作如截图所示:

image.png

同理:clone oschina上的hello-world的一个demo事例:https://git.oschina.net/lylyx/hello-world.git

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问题描述 公司要求项目的git账号必须使用公司邮箱,而我平时写的一些小demo肯定是用的自己的邮箱绑定的账号,这样...
    Tony_Yang阅读 1,623评论 0 2
  • 之所以写这篇文章是为了解决git 提交不成功,同时做个记录方便以后遇到同样的问题可以顺利解决。网上教程有很多,此处...
    ColaBean阅读 440评论 0 1
  • 工作中往往我们会遇到这种情况, 公司给了邮箱, 采用类似gitlab之类的git服务托管商, 而我们又拥有自己的g...
    凉茶半盏阅读 294评论 0 0
  • 1. 如何生成ssh公钥(摘录自git.oschina.net) 你可以按如下命令来生成 sshkey: 查看你的...
    lostsearover阅读 2,266评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139