📚上班也想搞私活?你可能需要配置多个SSH

最近需要做一些自己的项目,仓库建立在了github上,但是平时公司的项目都是建立在gitlab上面的,一个ssh肯定是无法解决的,如果不搞定这个问题的话可能后面会遇到一些奇奇怪怪的问题,有可能在需要提交代码的时候无法提交,这样就坏大事了,那么直接看看ssh能不能同时支持github和gitlab两个仓库,那么我们需要用到两个ssh

问题的源头-同时存在github和gitlab项目

本地只设置了github的公钥,克隆gitlab的项目会出现报错

检查现有的 SSH 密钥

专门删除了ssh目录下的公钥和密钥来给大家做一下演示,git bash中输入 ls -al ~/.ssh 以查看是否存在现有的 SSH 密钥

上面这是没有生成ssh密钥的情况

默认情况下,GitHub 的一个支持的公钥的文件名是以下之一。

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

以下是生成了ssh密钥的情况

具体细节参考 git常见问题

生成 SSH 密钥

git bash中输入 ssh-keygen -t ed25519 -C "your_email@example.com" 生成密钥

可以看到ssh目录生成了密钥和公钥,公钥是pub后缀的

SSH 密钥添加到github

打开你们的github在这地方添加公钥

key的内容是.pub后缀的ssh目录下的内容,用记事本打开,粘贴到key中即可

现在本地已经有私钥,公钥已经配置到远程的github上面了,需要测试下本地和远程的连接是否成功

测试链接

可以通过在终端输入 ssh -T git@github.com 来测试本地密钥是否正常工作

配置 ssh

如果出现 Hi ,则表示本地已经和远程的github建立链接,也能直接克隆项目了,让我们来试一试吧

到这里可以成功的克隆我们在远程的github项目了。

新建第二个ssh

新建第二个ssh的时候建议跟着我的步骤做,会比较简单,因为已经踩了很多坑

直接在ssh目录进入git bash

再执行上面的同样的命令来生成第二个密钥 ssh-keygen -t ed25519 -C "your_email@example.com 这时候会出现同名的报错,因为已经存在一个了

这里别急着回车!!!!
这里别急着回车!!!!
这里别急着回车!!!!

但我们仍然执行上面的密钥,当报错提示出现,我命名为lab_ed25519,这样两个密钥就不会重名,等输入重命名后就可以一直回车了。

看一下现在的ssh目录,已经存在两个密钥了。

继续到gitlab中重复公钥的配置即可

最后-配置config

在ssh目录下新建一个config,并且输入以下配置

这配置是告诉git,连接github.com和gitlab.com分别用两个不同的密钥去进行匹配

js 复制代码
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_ed25519

Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/lab_ed25519

🙏 感谢您花时间阅读这篇文章!如果觉得有趣或有收获,请关注我的更新,给个喜欢和分享。您的支持是我写作的最大动力!✍️🌟

往期好文推荐

相关推荐
1024小神5 分钟前
使用tauri打包cocos小游戏,并在抖音小玩法中启动,拿到启动参数token
前端
用户游民13 分钟前
Flutter Android 端启动加载流程剖析
前端
林太白23 分钟前
项目中的层级模块到底如何做接口
前端·后端·node.js
lichenyang45326 分钟前
理解虚拟 DOM:前端开发中的高效渲染利器
前端
一枚小小程序员哈29 分钟前
基于Android的车位预售预租APP/基于Android的车位租赁系统APP/基于Android的车位管理系统APP
android·spring boot·后端·struts·spring·java-ee·maven
二闹41 分钟前
从@Transactional失效场景到传播行为原理
java·后端
xiguolangzi43 分钟前
vue3 字体管理
前端
赵星星52044 分钟前
synchronized锁的是谁,看完这篇就明白了
java·后端
小张学习之旅1 小时前
线程池简单讲解
java·后端