447 字
2 分钟
GitHub添加SSH密钥

生成密钥#

Terminal window
ssh-keygen -t ed25519 -C "sun2ot@qq.com" -f ~/.ssh/your-key
  • -t:加密方式,rsa,ed25519,或者别的 GitHub 支持的都可以。
  • -C:GitHub 邮箱,用于注释密钥。
  • -f:指定生成密钥的位置和名称。建议存放在 ~/.ssh/ 下,但名称可以自定义以避免重复。无需指定密钥文件的后缀,openssh 会自动生成。

生成密钥时会提示是否需要设置 passphrase,这个可以置空,不影响使用。

生成完成后,会在 ~/.ssh/ 下生成 your-key(私钥)和 your-key.pub(公钥)。接下来,需要将公钥上传到 GitHub。

添加公钥到 GitHub#

官方教程:英文 中文

  1. 点击右上角 GitHub 头像
  2. 点击 Settings
  3. 左侧菜单列表找到 SSH and GPG keys
  4. 点击绿色的 New SSH key
    1. Title 是用以区分的密钥别名,随意指定即可
    2. Key Type 保持 Authentication Key 不变
    3. Key 中填入刚刚生成的 your-key.pub 中的内容,例如 ssh-ed25519 123456abcd your@email.com
    4. 点击 Add SSH key 即可

通过 SSH 进行克隆#

首先测试与 GitHub 的 SSH 连通性:

Terminal window
ssh -T git@github.com

如果一切正常应该会输出如下内容:

Hi your-github-name! You've successfully authenticated, but GitHub does not provide shell access.

可能还有一些 Warning,或者提示写入 fingerprint 的提示,这都是正常的。

但如果报错 kex_exchange_identification: read: Connection reset by peer,请检查网络环境。大概率是🧱的问题,需要🪜来代理一下,见 git 代理

如果生成密钥时指定了自定义名称,建议在 ssh 配置文件中写明,防止出现 Permission denied (publickey). 错误:

Terminal window
vim ~/.ssh/config
# 在其中添加
Host github.com
Hostname ssh.github.com
IdentityFile /path/to/your/private-key # 自定义密钥路径
User git

处理完上述问题后,便可以正常访问仓库:

Terminal window
git clone git@github.com:<github-name>/<repo-name>.git

这个克隆地址与 HTTP 类似,都可以在 GitHub 的网页复制下来。

支持作者
支付宝收款码
支付宝
微信收款码
微信
GitHub添加SSH密钥
https://blog.085404.xyz/posts/github添加ssh密钥/
作者
Sun2ot
发布于
2024-04-08
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

最后更新于 ,距今已过 884

部分内容可能已过时