MacOS 配置github密钥

news/2024/12/5 0:36:29 标签: macos, github, ssh

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:表示生成的私钥和公钥的指定路径和文件名

一路回车默认生成公钥和私钥

image-20241129232117134

2. 查看生成的SSH密钥对(公钥和私钥)

2.1 查看私钥

 cat ~/.ssh/id_ed25519_github

image-20241129231800559

2.2 查看公钥

 cat ~/.ssh/id_ed25519_github.pub

image-20241129231915786

带有.pub的是公钥,不带的是私钥。其中公钥是自己可以存放到其他需要和自己电脑通信的服务器上,私钥是不能泄露的。

3. 添加公钥到 GitHub、Gitee和Gitlab(带有 .pub 的文件是公钥,没带的是私钥)

3.1 Github添加公钥,用文本编辑器打开 id_ed25519_github.pub,把里面内容全部复制到 github账户头像settings(设置) 下面的 SSH and GPG keys(SSH and GPG 密钥) 密钥操作区域,如下图所示:

image-20241129232415330

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

image-20241129232520956

4. 测试链接

用下面这行命令来测试是否可以链接成功

 ssh -T git@github.com

image-20241129232949532

结果遇到提示了这样的,表示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 后重新运行上述命令。

image-20241129233403565

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.

image-20241129233430272

如果上述配置遇到问题可以参考下面这种生成密钥的方式去做

生成密钥

ssh-keygen -t rsa -C "xxxx@xxx.com"

然后一路回车生成对应的密钥对,把生成的公钥复制到githubssh配置里。

查看公钥

cat ~/.ssh/id_rsa.pub

复制公钥信息粘贴到github的SSH

最后来检测链接

ssh -T git@github.com

参考文章:

MacOS 同时配置github、gitee和gitlab密钥 - CoderManolin - 博客园


http://www.niftyadmin.cn/n/5768054.html

相关文章

在 Android 开发中,如何限制某个电话号码不能打电话或接听电话?

目录 1. 拦截特定电话号码的拨打 代码实现&#xff1a; 示例代码&#xff1a; 解释&#xff1a; 2. 拦截电话接听 示例代码&#xff1a; 3. 主动挂断电话 总结&#xff1a; 在 Android 开发中&#xff0c;限制某个电话号码不能打电话或接听电话并不容易&#xff0c;因为…

windows10桌面鼠标右键出现卡顿解决方法 - 副本

步骤如下&#xff1a; 1、按下“WinR” windows10鼠标点击右键出现卡顿的解决方法就为大家介绍到这里了。遇到类似问题的朋友&#xff0c;不要太过紧张&#xff0c;只要按照上面步骤操作一遍就好了。组合键打开运行&#xff0c;输入“regedit”点击确定打开注册表编辑器&…

C++设计模式(观察者模式)

一、介绍 1.动机 在软件构建过程中&#xff0c;我们需要为某些对象建立一种“通知依赖关系”&#xff0c;即一个对象的状态发生改变&#xff0c;所有的依赖对象&#xff08;观察者对象&#xff09;都将得到通知。如果这样的依赖关系过于紧密&#xff0c;将使软件不能很好地抵…

深度学习1:从图像识别到自动驾驶:深度学习如何引领未来出行新趋势?

文章目录 导读一、机器学习与经验积累&#xff1a;一场智慧的碰撞二、深度学习的四大基石&#xff1a;数据模型目标函数与算法三、深度学习的应用场景&#xff1a;从多标签分类到强化学习四、深度学习的发展历程&#xff1a;从“重新发现”到“寒武纪大爆发”五、深度学习的成功…

无人机数据处理系统:原理与核心系统

一、数据处理系统的运行原理 数据获取&#xff1a;无人机在飞行过程中&#xff0c;通过搭载的传感器&#xff08;如相机、激光雷达等&#xff09;采集到各种类型的数据&#xff0c;例如图像、点云等。这些数据是后续处理和分析的基础。 数据传输&#xff1a;采集到的数据会通…

VSCode中“Run Code”运行程序时,终端出现中文乱码解决方法

问题描述 在VSCode中“Run Code”运行程序时&#xff0c;终端输出结果出现中文乱码现象&#xff1a; 解决方法 1. 检查系统cmd的默认编码 查看Windows终端当前编码方式的命令&#xff1a; chcp输出结果是一段数字代码&#xff0c;如936&#xff0c;这说明当前的cmd编码方式…

LinkedList的了解

一、LinkedList的定义与类型 Java中的LinkedList类是一个双向链表&#xff08;Doubly Linked List&#xff09;。与单向链表&#xff08;Singly Linked List&#xff09;不同&#xff0c;双向链表中的每个节点不仅包含指向下一个节点的引用&#xff0c;还包含指向前一个节点的…

探索文件系统,Python os库是你的瑞士军刀

文章目录 探索文件系统&#xff0c;Python os库是你的瑞士军刀第一部分&#xff1a;背景介绍第二部分&#xff1a;os库是什么&#xff1f;第三部分&#xff1a;如何安装os库&#xff1f;第四部分&#xff1a;简单库函数使用方法1. 获取当前工作目录2. 改变当前工作目录3. 列出目…