李顺利
随笔-50  评论-170  文章-0  trackbacks-0

github托管了一些项目,而且自己创建的几个github账号, 比如有 lishunli, jdbcdslog 等。 github 使用ssh进行验证连接,但是如果你本地创建一个ssh key的话,等你切换到另一个账号的话,添加ssh key,就会有“SSH 已经被使用”的出错信息,当然这个时候想到的就是,使用多个SSH Key,那么如何能够让Github知道你使用的多个key了(Github 默认只会找 id_rsa 的 key)。 当然解决的办法也很简单,就是配置 ssh 的 config, 具体请参考 多个github帐号的SSH key切换 ,这篇文章已经介绍了很详细了,我这里只说一些关键的地方:

  • 不需要使用ssh-add命令来添加ssh keys,我本机测试过,生成很多keys,只要config配置正确,都ok
  • config 的配置关键点在于:
1
2
Host github.cn
  HostName github.com

这里Host的怎么配置,你github的repo ssh 连接url就要相应的修改成这样,比如如上面的配置,原连接地址是

1
git@github.com:lishunli/GitHub-Multi-Accounts.git

那么根据上面的配置,就要把github.com 修改成github.cn, 那么ssh解析的时候就会自动的把github.cn 转换为 github.com,这样地址就一样了。修改后就是

1
git@github.cn:lishunli/GitHub-Multi-Accounts.git

这样的配置,类似hosts,当然你可以任意配置上面的Host,例如可以这样

1
2
Host lishunli.github.com
  HostName github.com


那么 你git clone 或者 git remote add origin 后面就应该类似这样

1
2
3
git@lishunli.github.com:YourAcccountName/YourRepoName.git
# 原始是
git@github.com:YourAcccountName/YourRepoName.git

是不是很简单,记得把原HostName变换成你配置的Host就可以了。
搜索的时候,经常受到的是官方帮助文档
Manage multiple clients, 说是创建Org,但是据我所知,并不能很好的解决多账户问题(可能本人所知有限,并没有很好地体会Org的作用),想要了解更多 github org,请参看
如何在 GitHub 建立组织
组织和团队

附本人的ssh config 文件

(config)download
1
2
3
4
5
6
7
8
9
10
11
# usc github user
Host usc.github.com
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_usc

# lishunli github user
Host lishunli.github.com
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_lishunli

无图无真相
hello lishunli

这篇文章没有点点技术,主要用于以下用途:

  • 仅记之;
  • 学习并使用Markdown,简单快捷高效地写文章(本文用markdown编辑而成),你可以通过这里观看效果 GitHub多账户使用
  • 学习git,学习使用Octopress


博客中的一些下载已经放到了百度云了,请根据需要下载。【点我去百度云下载】

最后弱弱地说一下,如果可以的话,转载请提供出处( ),谢谢。
posted on 2012-03-08 23:28 李顺利 阅读(3654) 评论(0)  编辑  收藏 所属分类: VCSTips

只有注册用户登录后才能发表评论。


网站导航: