转载地址:http://omiga.org/blog/archives/2269
目前的git仓库如github都是通过使用SSH与客户端连接,如果只是固定使用单个git仓库的单个用户
(first),生成生成密钥对后,将公钥保存至github,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。
但是在实际工作中,一般公司内部都有自己的独立的git仓库(gitlab.xxx.com),于是就会存在这样的情
况,在github有私人的账号first,公司的gitlab中的工作账号sencord,first和second因为环境不同,必须配置不同的username和email。所以必须对每个账号分别生成独立的公钥密钥对。在链接到github时,使用first的公钥密钥对,链接到公司内的gitlab时,使用second的公钥密钥对。假设first的密钥文件为id_rsa,second的密钥文件为id_rsa_second.
在默认情况下,ssh总是使用id_rsa密钥文件进行链接,这样对于second账号的认证自然是不通过的,
不过,要实现多帐号下的SSH key切换在客户端做一些配置即可。
首先cd到~/.ssh 使用 ssh-keygen -t -rsa -C ‘second@mail.com’(为你工作账号的邮箱地址) 生成新的
SSH key:id_rsa_second
ssh-keygen -t rsa -C 'second@mail.com' -f id_rsa_second
生成后将新的ssh public key添加到内部的gitlab仓库中, 然后在~/.ssh 目录下创建config文件,该文件用于配置私钥对应的服务器。内容如下:
Host gitlab.xxx.com ##可以随意命名,链接时使用这个名字 HostName gitlab.xxx.com User git Port 22 IdentityFile ~/.ssh/id_rsa_second
执行
git clone git@gitlab.xxx.com:second/test.git
时会使用second的id_rsa_second与服务器进行连接.而链接非gitlab.xxx.com服务器时则会使用first的密钥进行链接。至此,大功告成!
注意:git根据配置文件的user.email来获取git帐号显示author信息,所以对于多帐号用户一定要
记得将user.email改为相应的email(second@mail.com)。
相关推荐
解决的问题为 git 配置多个ssh key 我们配置好两个 sshkey 后 分别为两个 如果是 github.com gitlab.com gitee.com 这三个当然没有问题 开发此工具碰到的问题是 开发者碰到同一代码托管平台 来自多个账号的 sshkey ...
Git采用SSH协议创建远程仓库,并把本地工程上传到远程仓库
gitBash 客户端 ssh 服务器远程登陆神器 Git-2.15.0-64-bit
远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。 管理远程仓库的工作,包括...
git-lfs安装包
Git-2.40.0-64-bit.exe Git是一个免费的开源分布式版本控制系统,可以快速高效地处理从小...它超越了像Subversion、CVS、Perforce和ClearCase这样的配置管理工具,具有简易的本地分支、方便的暂存区和多工作流等特性。
简单记录了CENTOS6中GIT安装,ssh-keygen生成,客户端使用TortoiseGit加载KEYGEN连接GIT服务器的过程。
5、Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支。 6、分支即时性:创建和切换分支几乎...
git安装包
Git(读音为/gɪt/)是一个开源的分布式版本控制系统
Windows版本的Git安装软件。 安装完成后,在开始菜单里...注意:git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
Windows Git 2.10.2 64-bit
详见word文档 安装包,详见如下,按照顺序进行安装: 1.运行cmd,输入命令: %SYSTEMROOT%\SYSTEM32\REGSVR32.EXE %SYSTEMROOT%\SYSTEM32\WUAUENG.DLL ...4.查看配置的用户信息:git config --list
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 checkout --track origin/dev 切换到远程dev分支 git branch -D master develop 删除本地库develop git checkout -b dev 建立一个新的本地分支dev git merge origin/dev 将分支dev与当前分支进行合并 git ...
Windows平台搭建说明.txt Git-2.10.2-64-bit.exe TortoiseGit-2.3.0.0-64bit_官网最新稳定版.msi TortoiseGit-LanguagePack-2.3.0.0-64bit-zh_CN_官网最新稳定语言包.msi
Git-Eclipse使用已配置好的远程仓库中的项目SSH,要先注册码云,使用的eclipse
Git是目前非常流行的分布式版本控制系统,由Linus Torvalds为Linux内核开发而创建,该资源包含 Git-2.42.0-64-bit-windows安装版,仅供学习,下载后请及时删除 Git是目前非常流行的分布式版本控制系统,由Linus ...
git的安装和配置,包括本地配置用户名邮箱,配置本地ssh,配置远程服务器,关联远程和本地项目