Mac 同时安装GitHub 和 Gitlab

背景

工作在使用gitlab作为代码托管的程序员,可能都会有这种在一台电脑上同时安装GitHub 和 gitlab的需求。也是因为最近在自己的电脑上安装GitHub 和 gitlab遇到了几个问题,分享给大家,好让大家少浪费点时间,把时间用到更有价值的地方。

实现过程

安装的实现过程完全是按照参考文章1,进行的,但是有个地方需要注意,就是将私钥放到本地时需要添加参数 -K,下面流程已经修改,可放心进行按照步骤执行。

安装多个GitHub 账户

  1. 创建多个不同名称的 ssh key
$ ssh-keygen -t rsa -C "your_name@home_email.com"

然后我们会看到如下信息:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user_name/.ssh/id_rsa):
这里要输入唯一的名称,例如
id_rsa_home
接下来的几步直接回车就好。
这样你就会生成一个ssh key 的 account,接下来创建另外一个GitHub 账号

$ ssh-keygen -t rsa -C "your_name@company_email.com"

输入文件名

  id_rsa_company

通过下面命令检查创建的文件

$ ls ~/.ssh

你将看到以下几个文件

id_rsa_home  id_rsa_company  id_rsa_home.pub  id_rsa_company.pub

接下来创建config文件

$ cd ~/.ssh/
$ touch config
$ nano config

将以下的信息添加到config文件

#Home account
Host home.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_home

#Company account
Host company.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company
Next you'll delete cached keys

输入:

$ ssh-add -D

如果出现以下信息
Could not open a connection to your authentication agent.
输入
eval ssh-agent -s
并且尝试之前的步骤

接下来你就可以检查你的key的列表了

$ ssh-add -l
2048 d4:e0:39:e1:bf:6f:e3:26:14:6b:26:73:4e:b4:53:83 /home/user/.ssh/id_rsa_home (RSA)
2048 7a:32:06:3f:3d:6c:f4:a1:d4:65:13:64:a4:ed:1d:63 /home/mateusz/.ssh/id_rsa_company (RSA)

如果内容是空的,你需要执行下面两条命令

ssh-add -K ~/.ssh/id_rsa_company
ssh-add -K ~/.ssh/id_rsa_home

现在开始检查下连接状态

$ ssh -T git@home.github.com
Hi home_user! You've successfully authenticated, but GitHub does not provide shell access.

$ ssh -T git@work.github.com
Hi company_user! You've successfully authenticated, but GitHub does not provide shell access.

这里还需要将生成的这两个*.pub文件内容,粘贴到对应GitHub上对应的setting ssh 公钥配置里面,否则会出现没有权限问题。

安装Github and Gitlab

前面的步骤都是相同的,只需要修改config文件中如下代码:

#GITLAB
Host gitlab.company_url.com
HostName gitlab.company_url.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company

#GITHUB
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_home

测试连接

$ ssh -T git@gitlab.company_url.com
Welcome to GitLab, CompanyUser!

$ ssh -T git@github.com
Hi home_user! You've successfully authenticated, but GitHub does not provide shell access.
As you probably have seen, prefix on hostname isn't required.

你可以需要设置一些用户对于某些工程,你必须区分开你的账户

$ cd ~/home_project
$ git config user.name "home_user"
$ git config user.email "your_name@home_email.com" 

参考的文章

  1. https://coderwall.com/p/7smjkq/multiple-ssh-keys-for-different-accounts-on-github-or-gitlab
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值