📚上班也想搞私活?你可能需要配置多个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

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

往期好文推荐

相关推荐
保卫大狮兄2 小时前
2小时,我搭了一套仓库出入库管理系统:收货、领料、退料、库存全打通!
wms·github·仓库·入库
沙蒿同学3 小时前
不引 Ghostscript:我用纯 Go 给 PDF 做了一场「压缩手术」
前端·后端·github
变与不变8063 小时前
jQuery细节以及使用应用场景
前端·javascript·jquery
前进的李工4 小时前
飞书企业知识库设计+后端高频八股
数据库·redis·后端·mysql·性能优化·飞书·rag
SailingCoder5 小时前
【封闭结束1】端到端交付:Agent 一次请求如何走完全链路
前端·安全·ai·面试·agent·harness
金銀銅鐵6 小时前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
武子康7 小时前
Vercel Cache Reason:相同 MISS,怎样决定下一步查什么
人工智能·后端·agent
风骏时光牛马7 小时前
AI多模块协同自动化工作流
前端
zhangminghuan7 小时前
前端面试应对技巧
前端·面试·职场和发展
杨文说AI与数字化7 小时前
把模型依赖做成可替换的组件:三层适配 + 一套回归评估
后端