为 GitHub 设置 SSH 密钥

1. 起因

给自己的 github 改个名,顺便就给原来 Hexo 对应的仓库也改了个名。然后发现 ub='hexo clean && hexo generate && hexo deploy' 失败了,报错如下:

INFO  Deploying: git
INFO  Clearing .deploy_git folder...
INFO  Copying files from public folder...
INFO  Copying files from extend dirs...
[master 397fba4] Site updated: 2023-07-15 13:57:29173 files changed, 728 insertions(+), 559 deletions(-)create mode 100644 2023/07/15/Setting-Up-SSH-Keys-for-GitHub/index.html
/Users/ritsu/.ssh/config line 4: no argument after keyword "k%u7h@j2s!wa"
/Users/ritsu/.ssh/config: terminating, 1 bad configuration options
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
FATAL {err: Error: Spawn failedat ChildProcess.<anonymous> (/Users/ritsu/Study/Hexo/node_modules/hexo-util/lib/spawn.js:51:21)at ChildProcess.emit (node:events:512:28)at ChildProcess._handle.onexit (node:internal/child_process:293:12) {code: 128}
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html

划重点:Please make sure you have the correct access rights and the repository exists.

好像我的 ssh 配置出问题了,想来那就重新配一遍吧,顺便记录下。

2. 配置过程

2.1 生成 SSH 密钥

ssh-keygen -t ed25519 -C "your_email@example.com"

**注意:**如果您使用的是不支持Ed25519算法的遗留系统,请使用:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
> Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM): [Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]å

这时候在 ~/.ssh/ 下应该看到如下文件:

image-20230715140759430

2.2 将 SSH 密钥添加到 ssh-agent

  1. 在后台启动 ssh-agent

    $ eval "$(ssh-agent -s)"
    > Agent pid 51024
    
  2. 打开文件 ~/.ssh/config ,然后修改文件以包含以下行

    Host github.comAddKeysToAgent yesIdentityFile ~/.ssh/id_ed25519
    
  3. 将 SSH 密钥添加到 ssh-agent

    ssh-add ~/.ssh/id_ed25519
    

2.3 将 SSH 公钥添加到 GitHub 上的帐户

  1. 将 SSH 公钥复制到剪贴板

    $ pbcopy < ~/.ssh/id_ed25519.pub
    
  2. 在 GitHub 任何页面的右上角,点击头像,然后点击设置

    截屏2023-07-15 14.16.31
  3. 打开左侧的 SSH and GPG keys

    截屏2023-07-15 14.17.16
  4. New SSH key

    image-20230715141846805

    起个好听的名字,然后把第一步中复制的公钥粘贴进去

2.4 恭喜🎉,快来测试下吧

$ ssh -T git@github.com
> Hi Kudoryafuka3! You've successfully authenticated, but GitHub does not provide shell access.

3. 参考

  • https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
  • https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28752.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【矩阵的基本操作】——MatLab基础

目录索引 矩阵的基本操作&#xff1a;转置&#xff1a;矩阵的拼接&#xff1a;*横拼&#xff1a;**竖拼&#xff1a;* 矩阵的索引&#xff1a;取元素&#xff1a;*end():* 取区域&#xff1a;逻辑判断&#xff1a;逻辑取值&#xff1a;find()&#xff1a; 矩阵的基本操作&#…

我在VScode学Java类与对象(Java显式参数和隐式参数、静态方法+main方法、Java访问修饰符、static关键字、Java的包、对象数组)第三辑

我的个人博客主页&#xff1a;如果’真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客&#xff1a;《我在VScode学Java》 续《我在VScode学Java&#xff08;Java的类与对象&#xff09;》 方法会操作对象并访问他们的实例字段。 伍._. 显式参…

爬虫与反爬虫的攻防对抗

一、爬虫的简介 1 概念 爬虫最早源于搜索引擎&#xff0c;它是一种按照一定的规则&#xff0c;自动从互联网上抓取信息的程序&#xff0c;又被称为爬虫&#xff0c;网络机器人等。按爬虫功能可以分为网络爬虫和接口爬虫&#xff0c;按授权情况可以分为合法爬虫和恶意爬虫。恶…

【PDF】HTML通过dom节点生成pdf

1、简要描述 上一篇博客主要讲的是pdf文件转换成canvas&#xff0c;然后进行相关的画框截图操作。 【PDF】Canvas绘制PDF及截图 本篇博客主要讲html中dom如何生成pdf文件&#xff08;前端生成pdf&#xff09;&#xff0c;后端生成pdf当然也可以&#xff0c;原理也是将html网…

IntelliJ IDEA 版本控制

IntelliJ IDEA 版本控制&#xff08;VCS&#xff09;日常使用方法备忘 1、搁置更改 2、移至另一个更改列表 对于工程项目中的配置文件&#xff0c;已经在本地修改但是不能提交&#xff0c;如果在提交项目代码时全选变更的文件&#xff0c;可能会误提交配置文件&#xff0c;此…

Monocular 3D Object Detection with Depth from Motion 论文学习

论文链接&#xff1a;Monocular 3D Object Detection with Depth from Motion 1. 解决了什么问题&#xff1f; 从单目输入感知 3D 目标对于自动驾驶非常重要&#xff0c;因为单目 3D 的成本要比多传感器的方案低许多。但单目方法很难取得令人满意的效果&#xff0c;因为单张图…

Stable Diffusion + EbSynth + ControlNet 解决生成视频闪烁

一、安装 1.1、安装ffmpeg 下载地址&#xff1a; 解压&#xff0c;配置环境变量 E:\AI\ffmpeg\bin 检查是否安装成功 1.2、安装SD的 EbSynth 插件 插件地址 https://github.com/s9roll7/ebsynth_utility 报错&#xff1a;ModuleNotFoundError: No module named extension…

13.postgresql--函数

文章目录 标量示例复合示例有返回值函数返回voidRETURN NEXT ,RETURN QUERYRETURN EXECUTEIF THEN END IFFOREACH,LOOPSLICE &#xff08;1&#xff09;如果函数返回一个标量类型&#xff0c;表达式结果将自动转行成函数的返回类型。但要返回一个复合&#xff08;行&#xff09…

OpenCVForUnity(六)图像的对比度和亮度

文章目录 前言公式讲解Unity嵌套循环实现使用convertTo实现亮度和对比度调整:伽马矫正 前言 图片处理中这也是非常常用的功能,下面我们一起来学习一下如何在OpenCVForUnity中修改图像的对比度亮度 图像处理中的常见算子可以将一个或多个输入图像转换为输出图像。这些变换包括点…

RISCV - 1 RV32/64G指令集清单

RISCV - 1 RV32/64G指令集清单 1 RV32/64G指令类型2 RV32I 基本指令集3 RV64I基础指令集&#xff08;除了RV32I)4 RV32/RV64 Zifencei标准扩展5 RV32/RV64 Zicsr标准扩展6 RV32M标准扩展7 RV64M标准扩展&#xff08;除了RV32M)8 RV32A标准扩展9 RV64A标准扩展&#xff08;除了R…

(栈队列堆) 剑指 Offer 09. 用两个栈实现队列 ——【Leetcode每日一题】

❓ 剑指 Offer 09. 用两个栈实现队列 难度&#xff1a;简单 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead …

机器学习32:《推荐系统-V》再谈召回、打分和重排

在《机器学习28&#xff1a;推荐系统-概述》一文中&#xff0c;笔者概述了推荐系统的基本术语和一般架构&#xff0c;通过【推荐系统 I&#xff5e;IV】系列课程的学习&#xff0c;相信读者对推荐系统已经有了一定的理解。本节&#xff0c;我们再来回顾一下推荐系统的核心环节—…