在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
|
无图无真相
这篇文章没有点点技术,主要用于以下用途:
博客中的一些下载已经放到了百度云了,请根据需要下载。【点我去百度云下载】
最后弱弱地说一下,如果可以的话,转载请提供出处(
),谢谢。
posted on 2012-03-08 23:28
李顺利 阅读(3650)
评论(0) 编辑 收藏 所属分类:
VCS 、
Tips