文档章节

git ssh 多账户管理

陈好
 陈好
发布于 2013/08/29 13:55
字数 580
阅读 9146
收藏 12

在github上托管了一些项目,最近准备在bitbucket托管私有代码,因为某些原因不想用同一个ssh key,这就需要使用ssh的多账户功能了(git bash默认只会找~/.ssh/id_rsa的key).

解决方法很简单,需要配置~/.ssh/config文件(没有则新建,没有扩展名)

config基本写法:

Host myhost(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)[注意下面有缩进]
   User 登录用户名(如:git)
   HostName 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
   Port 服务器open-ssh端口(默认:22,默认时一般不写此行)
   IdentityFile 证书文件路径(如~/.ssh/id_rsa_*)

这里举例一下,config内容如下:

Host meilihao.github.com
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_github

同时你的github的repo ssh url就要做相应的修改了,比如根据上面的配置,原连接地址是:

git@github.com:meilihao/gopkg.git

那么根据上面的配置,就要把github.com换成meilihao.github.com, 那么ssh解析的时候就会自动把meilihao.github.com 转换为 github.com,修改后就是

git@meilihao.github.com:meilihao/gopkg.git

如果你想测试一下连接,可用如下命令

ssh -T yourHost  //我这是ssh -T meilihao.github.com
ssh再加"-v"参数时,可输出更多的调试信息

对了还要记得修改git提交的地址

git remote rm origin 
git remote add origin git@meilihao.github.com:meilihao/gopkg.git

这样就行了,这里只是添加了一个ssh账号,有多个时可配置多个Host,万事OK.

ps.

sourcetree 如果使用多账号时,记得修改config文件,同时在"Tools"菜单的"add ssh key"中选择私钥,最重要的是clone时要使用修改后的path.

1.//git clone 项目时提示Host key verification failed

使用 ssh 协议时会验证对方服务器的 key。ssh无法确认服务器出示的 key 是可信认的,所以问你这个 key 是不是真的是你要连接的那个服务器的。你没说「yes」所以 ssh 认为你不想继续连接,结果当然是连接失败

2.//git clone Permissions 0644 for ‘~/.ssh/id_rsa’ are too open

只要把权限降到0600就可以了

3.//Bad owner or permissions on /home/xxx/.ssh/config

ssh config文件权限的问题,把权限降到0600就可以了.

© 著作权归作者所有

共有 人打赏支持
陈好

陈好

粉丝 12
博文 126
码字总数 32990
作品 0
杭州
程序员
git ssh 多账户配置

很久之前就要写了,一直拖着,蹭着周末开写 自从公司转用git管理代码之后,更多的和git打交道了,以前也使用过git/github ,现在公司也推git,就有多账户的问题了,查了下资料,是可以在一台...

LCZ777
2016/10/23
43
0
解决git本地多ssh key的问题

最近手上一个项目需要使用到一台服务器作为专用的部署服务器,在实施过程中遇到了一些问题,具体如下: 1. 服务器的ssh默认端口和项目git仓库的ssh端口不一致2. 部署需要使用项目提供的ssh k...

aaao
2016/03/21
0
0
git 通过ssh 进行认证连接

首先安装git emerge -av git 一条命令搞定,如果你使用ubuntu redhat 有相应的yum apt-get 工具, git麻烦在用户管理及管理上,下面上三种解决办法: # 如果需要团队里的每个人都对仓库有写权...

PGSmith
2013/07/08
0
0
使用Xcode上传代码至GitHub

几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习。但是如何在Xcode中上传代码至GitHub呢? (开始之前先安装git,具体方法这里讲的很清楚:http:...

木木情深
2015/01/05
0
0
git版本管理入门

前言 git版本管理作为开源项目的版本管理法则,以及多分支多版本的扁平分布式支持,被大多数的开发者所喜爱,那么究竟如何才能正确而轻松的学习git的版本管理呢?目前公司内部是搭建的gitla...

Tolonger
2017/12/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

实战讲解高并发和秒杀抢购系统设计

互联网特别是电商平台,阿里双11秒杀、还有12306春运抢票、以及平时各种节假日抢购活动等,都是典型的高并发场景。 这类场景最大的特征就是活动周期短,瞬间流量大(高并发),大量的人短期涌...

xtof
31分钟前
0
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
34分钟前
6
0
在Ubuntu安装和配置Sphinx

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以下设置本教程 。 安装在服务...

阿锋zxf
43分钟前
1
0
Qt编写输入法V2018超级终结版

对于qt嵌入式linux开发人员来说,输入法一直是个鸡肋问题,要么不支持实体键盘同步,要么不能汉字输入,要么不支持网页输入等,这几年通过陆续接触大量的各种输入法应用场景客户,得到真实需...

飞扬青云
54分钟前
2
0
TypeScript基础入门之高级类型的多态的 this类型

转发 TypeScript基础入门之高级类型的多态的 this类型 高级类型 多态的this类型 多态的this类型表示的是某个包含类或接口的子类型。 这被称做F-bounded多态性。 它能很容易的表现连贯接口间的...

durban
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部