Github多账户多项目管理配置教程

在 Github 创建了多个仓库,并为每个仓库使用了独立的 deploy key,结果在进行 git push 操作时,提示没有权限。错误信息类似:

ERROR: Permission to quyun/php-backend.git denied to quyun/aliyun-api-tools

官方的帮助中有提到这个错误:

https://help.github.com/articles/error-permission-to-user-repo-denied-to-user-other-repo

不过对于许多应用场景,使用一个全局的 key 并不能满足要求。

简单分析下,我们可以发现 ssh 客户端是通过类似:

git@github.com:quyun/aliyun-api-tools.git

这样的 git 地址中的 user 和 host 来识别使用哪个本地私钥的。

很明显,如果 user 和 host 始终为 git 和 github.com,那么就只能使用一个私钥。

指定私钥的方式也很简单,编辑 ~/.ssh/config,添加类似如下配置即可:

Host php-backend.github.quyun.net
IdentityFile ~/.ssh/github-php-backend
User git

Host aliyun-api-tools.github.quyun.net
IdentityFile ~/.ssh/github-aliyun-api-tools
User git

配置格式很简单,不多做解释。

光是这样指定当然不够,你会发现我这里的 host 已经不是 github.com 了。
我为每个仓库使用了自己的 host,每个 host 的域名做 CNAME 解析到 github.com,这样 ssh 在连接时就可以区别不同的仓库了。

来测试下:

# ssh -T git@php-backend.github.quyun.net
Hi quyun/php-backend! You’ve successfully authenticated, but GitHub does not provide shell access.

# ssh -T git@aliyun-api-utils.github.quyun.net
Hi quyun/aliyun-api-tools! You’ve successfully authenticated, but GitHub does not provide shell access.

可以看到 ssh 已经能够根据不同 host 使用不同私钥了。

最后,将你的 git 仓库地址中的 host 改为新设置的 host 即可,如上面的:

git@github.com:quyun/aliyun-api-tools.git

改为:

git@aliyun-api-tools.github.quyun.net:quyun/aliyun-api-tools.git

在 windows 下也会出现这个问题,用同样的方式解决即可!

时间: 2024-09-20 05:36:14

Github多账户多项目管理配置教程的相关文章

win 2003服务器安全配置教程

1.选择大量用户使用,官方有技术支持的程序;或者选择冷门的程序,越冷越好. 比如discuz或者dedecms都不错,虽然有各种各样的漏洞层出不穷,但是修补的也快,只要你及时打补丁,网站还是蛮安全的.当然,你也可以剑走偏锋,选择冷门的程序,没有多少人用的程序,当然研究其漏洞的人也少咯,比如安全天使开发的sablog就不错,小众化,而且本身也安全可靠,啥时候见他爆过漏洞呢? 2.有条件的自行对代码进行安全检测和二次开发. 有条件的电商们,一定要对这些开源的程序进行二次开发,二次开发不仅可以满足电子

项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】

在第一篇文章 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]发布后,根据大家的回复,我需要向大家说明几个问题: 1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式[http协议]访问,一般还要安装配置Apache,如果是新手,岂不是很

PHP调试工具Xdebug安装配置教程

说道PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来说有一定的难度,而且仅仅通过上述这些PHP调试手段,也很难准确发现PHP性能方面的问题,Xdebug是一个非常有用的PHP调试工具. Xdebug作为PHP调试工具,提供了丰富的调试函数,也可将Xdebug安装配置为zend studio.editplus调试PHP的第三方插件,通过开启自动跟踪(a

jpgraph安装配置教程详细介绍

在学习了之前两篇php jpgraph安装教程后,只要jpgraph类库通过了PHP安装环境的验证后,就可以正式安装jpgraph类库了,其实jpgraph类库的安装非常方便,只要将下载的jpgraph类库解压缩至已搭建的PHP环境下的相关目录下即可.jpgraph安装过程的关键在于PHP配置文件php.ini与jpgraph配置文件jpg-config.inc.php配置.下面我根据jpgraph类库的英文文档进行说明,希望对使用jpgraph类库的PHP开发者有所帮助. jpgraph类库安

网吧交换机配置教程

在网管的工作中,网吧交换机配置是必须要掌握和熟练的,由于这是一个复杂的过程,对于一些新生的网管们,可能还缺乏经验.本篇具体的说明网吧交换机配置教程,仅供参考. 不同类型的交换机Console端口所处的位置并不相同,Console端口的类型也有所不同,绝大多数都采用RJ-45端口,但也有少数采用DB-9串口端口或DB-25串口端口.那么接下来就具体的来操作一下,步骤如下: 第1步:打开与交换机相连的计算机电源,运行计算机中的Windows2003或2008操作系统. 第2步:检查是否安装有"超级终

Stingray Traffic Manager配置教程

Stingray Traffic Manager配置教程 首先把你后端的软件端口改掉 改成 除80外的可用端口 比如 81 82 83 登录zxtm后台(ZXTM 是一款很强大的负载均衡软件.主要用于web服务器.强大的规则功能和监控系统都是非常给力的.) 第一步 选择 services 再点击pools 找到 Create a new Pool 部分 输入名称 通信服务器IP及端口 可以使用Use Auto-Scaling for the nodes in this pool Monitor:

WIN7系统JavaEE(tomcat7 Eclipse)环境配置教程(二)_java

在进行Java Web环境开发之前,首先要做的第一件事就是搭建开发环境,开发环境搭建成功,接下来便是对整个开发环境进行测试,可以通过编写一个简单的JSP程序发布到Tomcat应用服务器上运行. 本文重点介绍Tomcat配置过程,具体内容如下 1.下载Tomcat7.0;下载地址:http://tomcat.apache.org/download-70.cgi:根据自己系统下载相应版本. 2.把下载的压缩包,解压到某硬盘根目录,我解压到D盘根目录. 3.配置Tomcat环境变量: 右击[我的电脑]

android环境配置-需要一个andorid studio环境配置教程

问题描述 需要一个andorid studio环境配置教程 好难配置的环境,求一个最新版本的配置教程,老版本的教程似乎有问题,按下葫芦漂起瓢,就是搞不定啊 解决方案 http://ask.android-studio.org/?/explore/sort_type-new__category-8__day-0__page-3 解决方案二: http://ask.android-studio.org/?/explore/sort_type-new__category-8__day-0__page-

详细的图文介绍如何利用XAMPP本地建站的环境配置教程

原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: 用途广:可以建博客,可以建企业的官网等等. 人气旺:这个好处就是,平时我们遇到的问题,人家网上早已经是有人遇到过来,可以很快的找到解决的方案. 开源性:你可以通过这个开源,不受什么版权的影响,可以建设自己喜欢的网站,当然也可以为开源做贡献.WordPress虽为免费的开源软件,但其价值无法用金钱来衡