Chinaunix首页 | 论坛 | 博客
  • 博客访问: 496156
  • 博文数量: 102
  • 博客积分: 4001
  • 博客等级: 上校
  • 技术积分: 756
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-21 16:01
文章分类

全部博文(102)

文章存档

2011年(1)

2010年(1)

2009年(56)

2008年(44)

我的朋友

分类: LINUX

2008-12-30 00:39:55

是一个免费的基于 git 的开源软件仓库托管服务,包括 , , 在内的许多开源软件都在 GitHub 上架设了软件仓库。


如果你有两个或两个以上的 GitHub 仓库,并且想用不同的公钥/私钥来管理这些仓库的话,会遇到这样一个问题。当你 clone 第一个仓库的时候,git 会使用第一对公钥/私钥,这个时候仍然一切正常。可当你需要用另一对公钥/私钥来 clone 第二个仓库的时候,git 默认仍然会使用第一对公钥/私钥,然后 GitHub 就会返回一个授权错误。


要解决这个问题,首先需要在 ~/.ssh/ 目录下新建一个 config 文件,为不同的项目分别指定公钥/私钥

~/.ssh/config

Host project-1
HostName github.com
User git
IdentityFile /home/wyt/.ssh/id_rsa_project_1

Host project-2
HostName github.com
User git
IdentityFile /home/wyt/.ssh/id_rsa_project_2

然后用 ssh-keygen 创建对应的公钥/私钥。

$ ls -l ~/.ssh
total 24
-rw-r--r-- 1 wyt wyt 244 2008-06-21 13:18 config
-rw------- 1 wyt wyt 1675 2008-06-21 13:04 id_rsa_project_1
-rw-r--r-- 1 wyt wyt 392 2008-06-21 13:04 id_rsa_project_1.pub
-rw------- 1 wyt wyt 1675 2008-05-20 11:24 id_rsa_project_2
-rw-r--r-- 1 wyt wyt 392 2008-05-20 11:24 id_rsa_project_2.pub
-rw-r--r-- 1 wyt wyt 802 2008-05-24 22:44 known_hosts

将公钥上传到 GitHub 上之后,就可以用下面的指令 clone 相应的软件仓库了

$ git clone git@project-1:username/project-1.git
$ git clone git@project-2:username/project-2.git




参考页面


阅读(3737) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~