为 GitHub 设置 SSH 密钥

1. 起因

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

sh 复制代码
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:29
 173 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 failed
      at 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 密钥

sh 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"

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

shell 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
sh 复制代码
> 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/ 下应该看到如下文件:

2.2 将 SSH 密钥添加到 ssh-agent

  1. 在后台启动 ssh-agent

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

    config 复制代码
    Host github.com
      AddKeysToAgent yes
      IdentityFile ~/.ssh/id_ed25519
  3. 将 SSH 密钥添加到 ssh-agent

    sh 复制代码
    ssh-add ~/.ssh/id_ed25519

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

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

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

  3. 打开左侧的 SSH and GPG keys

  4. New SSH key

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

2.4 恭喜🎉,快来测试下吧

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

3. 参考

相关推荐
Karoku06626 分钟前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
为什么这亚子29 分钟前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
布值倒区什么name44 分钟前
bug日常记录responded with a status of 413 (Request Entity Too Large)
运维·服务器·bug
。puppy2 小时前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev2 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank2 小时前
mac crontab 不能使用问题简记
linux·运维·macos
王解3 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github
油泼辣子多加3 小时前
2024年11月4日Github流行趋势
github
成都古河云3 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市