GitHub SSH配置完全指南 – wiki基地

非常抱歉,我似乎无法直接创建文件。我之前尝试使用一个不存在的工具,这是我的失误。

不过,我已经为您准备好了完整的“GitHub SSH 配置完全指南”的内容。您可以手动复制以下内容并将其保存到 github_ssh_configuration_guide.md 文件中。


GitHub SSH 配置完全指南

介绍

SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地运行网络服务。将 SSH 密钥连接到您的 GitHub 帐户是管理和访问您的仓库的一种安全方式,无需在每次推送或拉取时都输入用户名和密码。

本指南将详细介绍在您的计算机上生成 SSH 密钥、将其添加到您的 GitHub 帐户以及测试连接的步骤。

为什么要使用 SSH?

与使用 HTTPS 相比,使用 SSH 密钥有几个优点:

  • 方便性: 设置完成后,您无需在每次与远程仓库交互时都输入凭据。
  • 安全性: SSH 密钥比密码更难破解。它们是非常长的字符串,并且在没有相应私钥的情况下,公钥是无用的。

第 1 步:检查现有的 SSH 密钥

在生成新的 SSH 密钥之前,最好检查一下您的计算机上是否已经存在 SSH 密钥。

  1. 打开 Git Bash 或您的终端。
  2. 输入以下命令:
    bash
    ls -al ~/.ssh
  3. 检查目录列表,看是否存在名为 id_rsa.pubid_ecdsa.pubid_ed25519.pub 的文件。如果存在,您已经有一个 SSH 密钥,可以跳到 第 4 步

第 2 步:生成新的 SSH 密钥

如果您没有现成的 SSH 密钥,可以生成一个新的。

  1. 打开 Git Bash 或终端。
  2. 粘贴以下命令,并将 [email protected] 替换为您的 GitHub 电子邮件地址。
    bash
    ssh-keygen -t ed25519 -C "[email protected]"

    > 注意: 如果您的系统不支持 Ed25519 算法,您可以使用 RSA:
    > ssh-keygen -t rsa -b 4096 -C "[email protected]"

  3. 当提示 “Enter a file in which to save the key” 时,您可以按 Enter 接受默认文件位置。
    > Enter a file in which to save the key (/c/Users/you/.ssh/id_ed25519): [Press enter]

  4. 在下一个提示符下,输入一个安全的密码。这是一个可选但强烈推荐的步骤,可以为您的密钥增加一层额外的安全性。
    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]

第 3 步:将您的 SSH 密钥添加到 ssh-agent

ssh-agent 是一个帮助程序,可以跟踪您的身份密钥并管理它们的密码。

  1. 确保 ssh-agent 正在运行。
    bash
    eval "$(ssh-agent -s)"
  2. 将您的 SSH 私钥添加到 ssh-agent。
    bash
    ssh-add ~/.ssh/id_ed25519

第 4 步:将您的 SSH 公钥添加到您的 GitHub 帐户

  1. 将 SSH 公钥的内容复制到剪贴板。
    bash
    cat ~/.ssh/id_ed25519.pub

    或者,您可以使用 clip (Windows) 或 pbcopy (Mac) 直接复制。
    bash
    cat ~/.ssh/id_ed25519.pub | clip
  2. 在 GitHub 的右上角,点击您的个人资料照片,然后点击 Settings
  3. 在用户设置侧边栏中,点击 SSH and GPG keys
  4. 点击 New SSH keyAdd SSH key
  5. 在 “Title” 字段中,为新密钥添加一个描述性标签(例如,”我的笔记本电脑”)。
  6. 将您复制的密钥粘贴到 “Key” 字段中。
  7. 点击 Add SSH key
  8. 如果出现提示,请输入您的 GitHub 密码进行确认。

第 5 步:测试您的 SSH 连接

  1. 打开 Git Bash 或终端。
  2. 输入以下命令:
    bash
    ssh -T [email protected]
  3. 您可能会看到一条警告,指出无法确定主机的真实性。
    > The authenticity of host 'github.com (IP ADDRESS)' can't be established.
    > ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
    > Are you sure you want to continue connecting (yes/no)?

    输入 yes
  4. 如果一切顺利,您将看到一条包含您用户名的消息。
    > Hi username! You've successfully authenticated, but GitHub does not provide shell access.

恭喜!您已经成功配置了 SSH 密钥并将其连接到您的 GitHub 帐户。

故障排除

  • Permission denied 错误:

    • 确保您的 SSH 密钥已正确添加到您的 GitHub 帐户。
    • 验证 ssh -T [email protected] 命令是否成功。
    • 确保您的本地仓库配置为使用 SSH URL 而不是 HTTPS。您可以使用 git remote -v 进行检查,并使用 git remote set-url origin [email protected]:USERNAME/REPOSITORY.git 进行更改。
  • Agent admitted failure to sign 错误:

    • 这通常意味着 ssh-agent 没有运行,或者它找不到您想要使用的密钥。
    • 再次运行 eval "$(ssh-agent -s)"ssh-add ~/.ssh/id_ed25519
滚动至顶部