git 连接不同的服务器地址


目前的git仓库如github都是通过使用SSH与客户端连接,如果只是固定使用单个git仓库的单个用户

(first),生成生成密钥对后,将公钥保存至github,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。

但是在实际工作中,一般公司内部都有自己的独立的git仓库(gitlab.xxx.com),于是就会存在这样的情

况,在github有私人的账号first,公司的gitlab中的工作账号sencord,first和second因为环境不同,必须配置不同的username和email。所以必须对每个账号分别生成独立的公钥密钥对。在链接到github时,使用first的公钥密钥对,链接到公司内的gitlab时,使用second的公钥密钥对。假设first的密钥文件为id_rsa,second的密钥文件为id_rsa_second.

在默认情况下,ssh总是使用id_rsa密钥文件进行链接,这样对于second账号的认证自然是不通过的,

不过,要实现多帐号下的SSH key切换在客户端做一些配置即可。

首先cd到~/.ssh 使用 ssh-keygen -t -rsa -C ‘second@mail.com’(为你工作账号的邮箱地址) 生成新的

SSH key:id_rsa_second

Java代码   收藏代码
  1. ssh-keygen -t rsa -C 'second@mail.com' -f id_rsa_second  

生成后将新的ssh public key添加到内部的gitlab仓库中, 然后在~/.ssh 目录下创建config文件,该文件用于配置私钥对应的服务器。内容如下:

Bash代码   收藏代码
  1. Host gitlab.xxx.com ##可以随意命名,链接时使用这个名字  
  2.     HostName gitlab.xxx.com  
  3.     User git  
  4.     Port 22  
  5.     IdentityFile ~/.ssh/id_rsa_second  

 执行

Bash代码   收藏代码
  1. git clone git@gitlab.xxx.com:second/test.git  

 时会使用second的id_rsa_second与服务器进行连接.而链接非gitlab.xxx.com服务器时则会使用first的密钥进行链接。至此,大功告成!

 

注意:git根据配置文件的user.email来获取git帐号显示author信息,所以对于多帐号用户一定要

记得将user.email改为相应的email(second@mail.com)。


http://chiyx.iteye.com/blog/1872447

http://blog.csdn.net/chaihuasong/article/details/37886139




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值