github+gitlab ssh共存

背景

本人
gitlab使用的是ssh提交
github使用的是https提交

动力

前两天github发了一个公告,说不再支持https方法了,可能是因为不安全
所以,我要把当前所有github项目的https转为ssh

方法

一、再次生成公钥、私钥

首先我们要保证有两个ssh,一个github的一个gitlab的,当然,你要是偷懒这两个用一个密钥那我无话可说,规范些的话就搞两个邮箱(公司的+自己的)。

我的 /.ssh文件夹已经有这三个文件了(当时配置gitlab时生成的)
在这里插入图片描述
所以,我们要生成,github的公钥

  git config --global user.name "你github的用户名"
  git config --global user.email "你github的邮箱"

这时候,我们跑到 .ssh文件夹下

ssh-keygen -t rsa -C "你的github账号对应的邮箱"

这时候提示你要输入公钥的名字,千万不要和gitlab的公钥名重复,我这里叫 github
在这里插入图片描述
密码继续回车(默认为空)


查看私钥
cat github.pub
在这里插入图片描述

二、私钥放到github远端

完事,将他添加到远端(github 私钥那里)

此时,你的 .ssh下是这样的
在这里插入图片描述

三、配置两种不同的ssh key

(1) 首先需要将密钥添加到SSH agent中,因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

ssh-add ~/.ssh/github

(2)如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:

ssh-agent bash
ssh-add ~/.ssh/github

(3) .ssh文件夹下 创建config文件(没有后缀,只叫config),内容如下:

# github

Host github.com

    HostName github.com

    PreferredAuthentications publickey

    IdentityFile ~/.ssh/github

# gitlab (不配置config,默认走这里)

Host gitlab.com

    HostName https://git.guahao-inc.com

    PreferredAuthentications publickey

    IdentityFile ~/.ssh/id_rsa
四、验证是否配置成功

验证github

ssh -T git@github.com

提示 successfully就是成功了

五、github的 https转为ssh

查看远端地址,肯定是https的

git remote -v 

显示
https://github.com/fujinting/vue-react-node-blog.git

重设为

git remote set-url origin git@github.com:fujinting/vue-react-node-blog.git

再看一下,是否改过来了

git remote -v 

显示
git@github.com:fujinting/vue-react-node-blog.git

这时候,算是成功了,可以推拉代码了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值