MacOS 配置github密钥
MacOS 配置github密钥
1. 生成GitHub的SSH密钥对
ssh-keygen -t ed25519 -C "xxx@xxxx.com" -f ~/.ssh/id_ed25519_github
其中
-
xxxxxxxx@xxx.com 是注册github、gitee和gitlab的绑定账号的邮箱
-
-t ed25519:生成密钥的算法为ed25519(ed25519比rsa速度快,也是gitee默认推荐算法
-
-C "你的箱":表示以这个邮箱生成ed25519算法密钥
-
--f ~/.ssh/id_ed25519_github:表示生成的私钥和公钥的指定路径和文件名
一路回车默认生成公钥和私钥

2. 查看生成的SSH密钥对(公钥和私钥)
2.1 查看私钥
cat ~/.ssh/id_ed25519_github

2.2 查看公钥
cat ~/.ssh/id_ed25519_github.pub

带有.pub的是公钥,不带的是私钥。其中公钥是自己可以存放到其他需要和自己电脑通信的服务器上,私钥是不能泄露的。
3. 添加公钥到 GitHub、Gitee和Gitlab(带有 .pub 的文件是公钥,没带的是私钥)
3.1 Github添加公钥,用文本编辑器打开 id_ed25519_github.pub,把里面内容全部复制到 github账户头像 的 settings(设置) 下面的 SSH and GPG keys(SSH and GPG 密钥) 密钥操作区域,如下图所示:

添加完之后可以看到这样提示添加成功的字样。

4. 测试链接
用下面这行命令来测试是否可以链接成功
ssh -T git@github.com

结果遇到提示了这样的,表示SSH 密钥没有正确设置或没有被 GitHub 识别
git@github.com: Permission denied (publickey).
解决办法:
4.1 确保 SSH Agent 正在运行并加载了密钥
Git 使用 SSH agent 来管理你的密钥。你需要确保 SSH agent 正在运行并且已经加载了你的私钥。以下是如何检查和加载密钥的方法:
-
启动 SSH agent(如果还没启动):
eval "$(ssh-agent -s)" -
将你的私钥添加到 agent:
ssh-add ~/.ssh/id_ed25519_github如果出现
Could not open a connection to your authentication agent错误,可以在启动 SSH agent 后重新运行上述命令。

4.2 确认 SSH 密钥已与 GitHub 账户关联
确保你的公钥(~/.ssh/id_ed25519_github.pub)已正确添加到 GitHub 账户中。以下是如何确认:
-
在 GitHub 上检查公钥:
-
进入 GitHub SSH 设置。
-
确保你复制的公钥内容已列在 GitHub 上。如果没有,请重新添加,复制公钥内容并粘贴到 "Key" 字段。
-
4.3 确认密钥对正确
确保你使用的 SSH 公钥和私钥是正确的:
-
你的 私钥 应该是
~/.ssh/id_ed25519_github。 -
你的 公钥 应该是
~/.ssh/id_ed25519_github.pub。
4.4 测试与 GitHub 的 SSH 连接
你可以通过以下命令测试 SSH 配置是否工作正常:
ssh -T git@github.com
如果一切正常,你应该看到如下消息:
Hi <用户名>! You've successfully authenticated, but GitHub does not provide shell access.

如果上述配置遇到问题可以参考下面这种生成密钥的方式去做
生成密钥
ssh-keygen -t rsa -C "xxxx@xxx.com"
然后一路回车生成对应的密钥对,把生成的公钥复制到github的ssh配置里。
查看公钥
cat ~/.ssh/id_rsa.pub
复制公钥信息粘贴到github的SSH


最后来检测链接
ssh -T git@github.com

参考文章:
MacOS 同时配置github、gitee和gitlab密钥 - CoderManolin - 博客园
相关文章:
MacOS 配置github密钥
MacOS 配置github密钥 1. 生成GitHub的SSH密钥对 ssh-keygen -t ed25519 -C "xxxxxxx.com" -f ~/.ssh/id_ed25519_github 其中 xxxxxxxxxxx.com 是注册github、gitee和gitlab的绑定账号的邮箱 -t ed25519:生成密钥的算法为ed25519(ed25519比rsa速度快&…...
从0开始学PHP面向对象内容之常用设计模式(策略,观察者)
PHP设计模式——行为型模式 PHP 设计模式中的行为模式(Behavioral Patterns)主要关注对象之间的通信和交互。行为模式的目的是在不暴露对象之间的具体通信细节的情况下,定义对象的行为和职责。它们常用于解决对象如何协调工作的问题ÿ…...
前端 如何用 div 标签实现 步骤审批
在前端实现一个步骤审批流程,通常是通过 div 标签和 CSS 来构建一个可视化的流程图,结合 JavaScript 控制审批的状态变化。你可以使用 div 标签创建每一个步骤节点,通过不同的样式(如颜色、边框等)表示审批的不同状态&…...
【大数据技术基础 | 实验十四】Kafka实验:订阅推送示例
文章目录 一、实验目的二、实验要求三、实验原理(一)Kafka简介(二)Kafka使用场景 四、实验环境五、实验内容和步骤(一)配置各服务器之间的免密登录(二)安装ZooKeeper集群(…...
SpringAi整合大模型(进阶版)
进阶版是在基础的对话版之上进行新增功能。 如果还没弄出基础版的,请参考 https://blog.csdn.net/weixin_54925172/article/details/144143523?sharetypeblogdetail&sharerId144143523&sharereferPC&sharesourceweixin_54925172&spm1011.2480.30…...
为什么爱用低秩矩阵
目录 为什么爱用低秩矩阵 一、定义与性质 二、区别与例子 为什么爱用低秩矩阵 我们更多地提及低秩分解而非满秩分解,主要是因为低秩分解在数据压缩、噪声去除、模型简化和特征提取等方面具有显著的优势。而满秩分解虽然能够保持数据的完整性,但在实际应用中的场景较为有限…...
React 自定义钩子:useOnlineStatus
我们今天的重点是 “useOnlineStatus” 钩子,这是 React 自定义钩子集合中众多精心制作的钩子之一。 Github 的:https://github.com/sergeyleschev/react-custom-hooks import { useState } from "react" import useEventListener from &quo…...
uniapp 小程序 监听全局路由跳转 获取路由参数
uniapp 小程序 监听全局路由跳转 获取路由参数 app.vue中 api文档 onLaunch: function(options) {let that this;let event [navigateTo, redirectTo, switchTab, navigateBack];event.forEach(item > {uni.addInterceptor(item, { //监听跳转//监听跳转success(e) {tha…...
12.02 深度学习-卷积
# 卷积 是用于图像处理 能够保存图像的一些特征 卷积层 如果用全连接神经网络处理图像 计算价格太大了 图像也被转为线性的对象导致失去了图像的空间特征 只有在卷积神经网络cnn的最后一层使用全连接神经网络 # 图像处理的三大任务 # 目标检测 对图像中的目标进行框出来 # 图…...
MySQL 主从同步一致性详解
MySQL主从同步是一种数据复制技术,它允许数据从一个数据库服务器(主服务器)自动同步到一个或多个数据库服务器(从服务器)。这种技术主要用于实现读写分离、提升数据库性能、容灾恢复以及数据冗余备份等目的。下面将详细…...
Spring源码导入idea时gradle构建慢问题
当我们将spring源码导入到idea进行构建的时候,spring采用的是gradle进行构建,默认下注在依赖是从https://repo.maven.apache.org会特别慢,需要改为国内的镜像地址会加快速度。 将项目中build.gradle配置进行调整: repositories …...
Dockerfile 安装echarts插件给java提供服务
java调用echarts插件,生成图片保存到磁盘然后插入到pptx中报表。 Dockerfile文件内容: #基础镜像,如果本地仓库没有,会从远程仓库拉取 openjdk:8 FROM docker.io/centos:centos7 #暴露端口 EXPOSE 9311 # 避免centos 日志输出 …...
Springboot小知识(1):启动类与配置
一、启动类(引导类) 在通常情况下,你创建的Spring应用项目都会为你自动生成一个启动类,它是这个应用的起点。 在Spring Boot中,引导类(也称为启动类,通常是main方法所在的类)是整个…...
[CISCN 2019华东南]Web11
[CISCN 2019华东南]Web11 给了两个链接但是都无法访问 这里我们直接抓包试一下 我们插入X-Forwarded-For:127.0.0.1 发现可以修改了右上角的IP地址,从而可以进行注入 {$smarty.version} 查看版本号 if标签执行PHP命令 {if phpinfo()}{/if} 查看协议 {if system(…...
Cypress内存溢出奔溃问题汇总
内存溢出报错信息 <--- Last few GCs ---> [196:0xe58001bc000] 683925 ms: Scavenge 1870.7 (1969.9) -> 1865.6 (1969.9) MB, 6.07 / 0.00 ms (average mu 0.359, current mu 0.444) task; [196:0xe58001bc000] 683999 ms: Scavenge 1872.4 (1969.9) -> 1867.1…...
树莓派4B--OpenCV安装踩坑
报错: Source directory: /tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329 Working directory: /tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329/_skbuild/linux-armv7l-3.7/cmake-build Please check the i…...
电子电气架构 --- 面向服务的汽车诊断架构
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…...
Pytest --capture 参数详解:如何控制测试执行过程中的输出行为
--capture 选项用于控制测试用例执行过程中标准输出(stdout)和标准错误输出(stderr)的捕获行为。 --capture 的选项值: fd(默认) 捕获文件描述符级别的输出(stdout 和 stderr&#x…...
IS-IS的原理
IS-IS的基本概念: 概述: IS-IS,中间系统到中间系统,是ISO国际标准化组织为它的无连接网络协议设计的一种动态路由协议 IS-IS支持CLNP网络和IP网络,采用数据链路层封装,区别于ospf只支持IP网络࿰…...
C++(4个类型转换)
1. C语言中的类型转换 1. 隐式 类型转换: 具有相近的类型才能进行互相转换,如:int,char,double都表示数值。 2. 强制类型转换:能隐式类型转换就能强制类型转换,隐式类型之间的转换类型强相关,强制类型转换…...
揭秘K12课堂AI转型真相:3个被90%学校忽略的PlayAI部署陷阱及72小时应急修复指南
更多请点击: https://intelliparadigm.com 第一章:PlayAI教育领域应用案例 PlayAI 作为面向教育场景的轻量级AI交互平台,已在多个教学实践中展现出显著的适配性与可扩展性。其核心优势在于无需深度编程基础即可构建个性化学习路径、实时学情…...
让Office界面真正属于你:Office RibbonX Editor的个性化定制之道
让Office界面真正属于你:Office RibbonX Editor的个性化定制之道 【免费下载链接】office-ribbonx-editor An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF 项目地址: https://gitcode.com/gh_mirrors/of/office-ribb…...
从‘理想采样’到‘现实妥协’:聊聊三电阻电流采样方案里那些不得不做的优化(以FOC矢量控制为例)
从‘理想采样’到‘现实妥协’:三电阻电流采样方案的设计哲学与工程智慧 在电机控制领域,电流采样如同一位沉默的指挥家,用精确的数据引导着PWM交响乐章的每个音符。当我们从教科书走向真实工程现场时,会发现那些看似完美的理论方…...
实战指南:5个技巧高效部署BBS-Go开源社区平台
实战指南:5个技巧高效部署BBS-Go开源社区平台 【免费下载链接】bbs-go A lightweight community and Q&A platform for forums, knowledge bases, and discussions. 项目地址: https://gitcode.com/gh_mirrors/bb/bbs-go 想快速搭建一个功能完备的在线社…...
Proteus 8.17安装超详细教程 保姆级教程【附安装包】
电子设计小伙伴们!今天我给大家带来一篇超详细的Proteus 8.17专业版安装教程 !这可是电子工程师和学生党的福音啊!作为PCB设计和单片机仿真的神器,Proteus绝对是你玩转电子设计必备的利器!不会安装?别担心&…...
如何高效管理动物森友会存档:NHSE完整使用指南
如何高效管理动物森友会存档:NHSE完整使用指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE NHSE(Animal Crossing: New Horizons Save Editor)是一款专为《动…...
5分钟掌握BepInEx游戏插件框架:Unity模组开发的完整解决方案
5分钟掌握BepInEx游戏插件框架:Unity模组开发的完整解决方案 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx(Bepis Injector Extensible࿰…...
端侧AI平民化:轻量专家模型+动态调度实现千元机本地大模型推理
1. 项目概述:这不是又一个“AI手机App”,而是一次对算力平民化的重新定义 “Enter Project Gecko: AI in Your Pocket, Without the Premium Price Tag”——这个标题里没有一个生僻词,但每个词都在精准刺向当前AI消费端的痛点。我做终端AI落…...
EmotiVoice终极指南:5分钟上手2000种音色的免费语音合成神器
EmotiVoice终极指南:5分钟上手2000种音色的免费语音合成神器 【免费下载链接】EmotiVoice EmotiVoice 😊: a Multi-Voice and Prompt-Controlled TTS Engine 项目地址: https://gitcode.com/gh_mirrors/em/EmotiVoice 想要让AI帮你说话吗…...
Keil MDK构建时间戳记录方案与实现
1. 项目概述:Keil MDK构建时间戳记录方案在嵌入式开发中,项目构建(Project Build)的时间管理是个容易被忽视却至关重要的细节。当我们需要调试复杂工程时,准确记录构建开始时间可以帮助我们同步调试日志;而…...
