可以先看看另外一篇文章 利用 SSH 完成 Git 与 GitHub 的绑定
思路
ssh 方式链接到 Github/GitLab,需要唯一的公钥,如果想同一台电脑绑定两个Github/GitLab 帐号,需要两个条件:
能够生成两对 私钥/公钥
push 时,可以区分两个账户,推送到相应的仓库
解决方案:
生成 私钥/公钥 时,密钥文件命名避免重复
设置不同 Host 对应同一 HostName 但密钥不同
取消 git 全局用户名/邮箱设置,为每个仓库独立设置 用户名/邮箱
操作方法
查看已有的密钥
有点乱,哈哈,可能是之前想解决gitlab和github的ssh相冲突的问题的,一直没搞定,就这样拖着…
生成新的公钥
生成新的公钥,并命名为 id_rsa_2 (保证与之前密钥文件名称不同即可,文件名最好有意义,否则写后面的配置的时候写错文件名,我的文件名是id_rsa_gitlab)
$ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "youremail@gmail.com"
编辑config
在 .ssh
文件夹下新建 config 文件并编辑,令不同 Host 实际映射到同一HostName,但密钥文件不同。Host 前缀可自定义,如下所示
一个是github的,一个是gitlab的
SSHKeys
将生成的 id_rsa_github.pub里面的内容copy到gitlab中SSHKeys里面(和github类似),而后点击Add Key即可
测试
测试连接是否成功:
再次测试:
参考
https://blog.csdn.net/jifaliwo123/article/details/79126785
https://xuyuan923.github.io/2014/11/04/github-gitlab-ssh/