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

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

往期好文推荐

相关推荐
盖世英雄酱581364 分钟前
java 深度调试【第一章:堆栈分析】
java·后端
前端snow6 分钟前
记录:非常典型的一个redux问题
前端
慧一居士15 分钟前
src/App.vue 和 public/index.html 关系和区别
前端·vue.js
lastHertz21 分钟前
Golang 项目中使用 Swagger
开发语言·后端·golang
渣哥22 分钟前
面试高频:Spring 事务传播行为的核心价值是什么?
javascript·后端·面试
调试人生的显微镜27 分钟前
iOS 代上架实战指南,从账号管理到使用 开心上架 上传IPA的完整流程
后端
本就一无所有 何惧重新开始31 分钟前
Redis技术应用
java·数据库·spring boot·redis·后端·缓存
九十一41 分钟前
websocket的连接原理
前端·javascript
低音钢琴44 分钟前
【SpringBoot从初学者到专家的成长11】Spring Boot中的application.properties与application.yml详解
java·spring boot·后端
念你那丝微笑1 小时前
vue实现批量导出二维码到PDF(支持分页生成 PDF)
前端·vue.js·pdf