git ssh 配置多个账户的方法

所属分类: 网络编程 / 相关技巧 阅读数: 1577
收藏 0 赞 0 分享

一台电脑上有一个ssh key,在github上提交代码,由于其他原因
你可能会在一台电脑上提交到不同的github上,怎么办呢…
所以查了一下关于同机器多账号的ssh-key配置,在此记录一下。

操作步骤

如果我们Windows 系统上面已经有了ssh-key再创建ssh-key的话,需要给我们的ssh-key文件取不同的名字,默认是id_rsa,如果不重新起名的话,会把原有的给覆盖掉。

1.新建ssh-key&重新命名

这里我们新建的key名为 id_rsa2,路径为:C:\Users\Administrator.ssh

首先打开git bash ,可以通过在桌面上右键打开 (右键 》 git bash here),切换到ssh目录,输入一下命令

//切换到ssh目录
cd ~/.ssh
//新建ssh-key
ssh-keygen -t rsa -C "mywork@email.com"
 //为新建的ssh-key重新命名
Enter file in which to save the key 

输入文件名及路径

C:\Users\Administrator\.ssh\id_rsa2

这样的话会在 目录下生成两个文件

C:\Users\Administrator\.ssh\id_rsa2
C:\Users\Administrator\.ssh\id_rsa2.pub

2.新ssh-key添加到ssh agent中

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

首先打开git Bash

//打开ssh-agent 客户端,否则会报错
eval `ssh-agent -s`

ssh-add ~/.ssh/id_rsa2

3.配置 将不同账号的工程图服务器与ssh-key关联

账户以及git服务器与对应的密钥关联。在~/.ssh目录下找到config文件,如果没有就创建:

touch config

然后修改如下: 我的config配置如下:

# 该文件用于配置私钥对应的服务器
# Default github user(first@mail.com)
 Host github.com
 HostName github.com
 User git
 IdentityFile C:/Users/Administrator/.ssh/id_rsa

 # second user(second@mail.com)
 # 建一个github别名,新建的帐号使用这个别名做克隆和更新
 Host github2
 HostName github.com
 User git
 IdentityFile C:\Users\Administrator\.ssh\id_rsa2

其规则就是:从上至下读取config的内容,在每个Host下寻找对应的私钥。这里将GitHub SSH仓库地址中的git@github.com替换成新建的Host别名如:github2,那么原地址是:git@github.com:funpeng/Mywork.git,替换后应该是:github2:funpeng/Mywork.git.

4、用记事本打开新生成的~/.ssh/id_rsa2.pub文件,将里面的内容添加到GitHub后台。

可不要忘了添加到你的另一个github帐号下的SSH Key中。

5、测试:

$ ssh -T git@github.com

Hi gdutxiaoxu! You've successfully authenticated, but GitHub does not provide shell access..

$ ssh -T github2

Hi xujun94! You've successfully authenticated, but GitHub does not provide shell access.

6、应用

假如我们要克隆我们的远程仓库:https://github.com/xujun94/xujun.git ,在我的github 账户上配置 的为 ssh 可以为 id_isa2,正常情况下我们是需要输入命令

git clone git@github.com:xujun94/xujun.git
git clone github2:xujun94/xujun.git

进入我们的仓库 ,添加xujun.txt 文件,add > commit > push ,将可以看到如下的效果

 

如果你只是通过这篇文章中所述配置了Host,那么你多个账号下面的提交用户会是一个人,所以需要通过命令git config –global –unset user.email删除用户账户设置,在每一个repo下面使用git config –local user.email ‘你的github邮箱@mail.com' 命令单独设置用户账户信息

更多精彩内容其他人还在看

图片的色彩空间问题

不知有多少朋友遇到此类问题:在PS里处理好的图,发到论论坛上以后发现图片颜色大变,变得灰蒙蒙,失去了层次,色彩生硬,还有点发青
收藏 0 赞 0 分享

计算机中的字符串编码、乱码、BOM等问题详解

这篇文章主要介绍了计算机中的字符串编码、乱码、BOM等问题详解,对文件编码、vim乱码、什么情况下会出现乱码、字符编码的发展历史、字符集和编码的区别、汉字ANSI编码的发展历史、BOM头等问题做了全面总结、详细介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

markdown简介和语法介绍

这篇文章主要介绍了markdown简介和语法介绍,本文重点介绍了常用的一些markdown语法,可以做为一个简明版的入门指南,另本文还提供了一个在线学习markdown的简明教程,需要的朋友可以参考下
收藏 0 赞 0 分享

程序员开发项目是选择效率还是质量呢?

这篇文章主要介绍了程序员开发项目是选择效率还是质量呢?本文对这个每个程序员都会遇到的一个问题做了讲解,需要的朋友可以参考下
收藏 0 赞 0 分享

12种实现301网页重定向方法的代码实例(含Web编程语言和Web服务器)

这篇文章主要介绍了11种实现301网页重定向方法的代码实例,文中包含9种编程语言和3种WEB服务器配置方法,共计12种,需要的朋友可以参考下
收藏 0 赞 0 分享

命令行下的2款网页截图工具推荐

这篇文章主要介绍了命令行下的2款网页截图工具推荐,分别是针对IE浏览器的IECapt和针对Firefox浏览器的PageSaver,需要的朋友可以参考下
收藏 0 赞 0 分享

分享下程序员/设计师能用上的 75 份速查表

速查表可能是图片,也可能是 PDF 文件,希望你能在这个列表中找到你所需要的,
收藏 0 赞 0 分享

Geohash的原理、算法和具体应用探究

这篇文章主要介绍了Geohash的原理、算法和具体应用探究,Geohash可以实现当前手机应用中的查找附近的人功能,需要的朋友可以参考下
收藏 0 赞 0 分享

程序员编程从初级到中级的10个秘诀

在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。
收藏 0 赞 0 分享

关于换行和回车的图文小结

不知道大家用这么多年的电脑,写了这么多的程序,对换行和回车有没有一个认识
收藏 0 赞 0 分享
查看更多