git ssh 多账户管理

在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就可以了.

转载于:https://my.oschina.net/meilihao/blog/157716

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值