Github配置SSH

Github配置SSH

lczhuigz Lv1

通过配置 SSH 密钥,咱就可以和 GitHub 安全地连接,不再需要每次操作都输入密码。整个过程很简单,主要包括:检查现有密钥、生成新密钥、将密钥添加到 GitHub,以及测试连接。

配置过程流程图:

flowchart TD
    A[开始配置SSH] --> B{检查现有密钥}
    B -->|有密钥| C[使用现有密钥]
    B -->|无密钥| D[生成新密钥]
    
    subgraph D [生成新密钥]
        D1[执行 ssh-keygen 命令]
        D2[保存密钥对至 ~/.ssh/]
    end
    
    C --> E[将公钥添加到GitHub]
    D --> E
    
    E --> F[测试SSH连接]
    F -->|成功| G[配置成功]
    F -->|失败| H[检查网络与配置]
    H -->|成功| F

🔍 第一步:检查现有 SSH 密钥

为了避免覆盖已有的密钥,首先检查是否已经存在 SSH 密钥。

  1. 打开终端(Windows 用户可使用 Git Bash)。
  2. 输入以下命令查看 ~/.ssh 目录中已有的密钥文件:
    1
    ls -al ~/.ssh
  3. 检查是否有类似 id_rsa.pubid_ecdsa.pubid_ed25519.pub 的公钥文件。如果存在,你可以直接使用这些密钥,跳过生成新密钥的步骤。

🔑 第二步:生成 SSH 密钥对

如果还没有密钥,就需要生成一个新的密钥对。

  1. 在终端中,运行 ssh-keygen 命令。推荐使用更强的 ed25519 算法,命令如下(将邮箱替换为你自己的):

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

    生成密钥

    也可以使用传统的 RSA 算法(-t rsa)。

  2. 接下来,程序会提示你设置密钥的保存路径。通常直接按 Enter 键使用默认路径(如 ~/.ssh/id_ed25519)就可以。

    生成密钥

  3. 然后,会提示你输入一个密码(passphrase)。设置密码可以为你的密钥增加一层保护,但如果你觉得麻烦,也可以直接按 Enter 键留空。

  4. 命令执行成功后,你的私钥(如 id_ed25519)和公钥(如 id_ed25519.pub)就会保存在 ~/.ssh 目录下。请务必保管好私钥,不要泄露给他人

🌐 第三步:将 SSH 公钥添加到 GitHub

接下来,需要让你的 GitHub 账户知道你的公钥。

  1. 复制公钥内容
    在终端输入以下命令显示公钥内容,然后完整地复制它(包括 ssh-ed25519ssh-rsa 开头和你的邮箱结尾):

    1
    cat ~/.ssh/id_ed25519.pub

  2. 在 GitHub 账户中添加公钥

    • 登录 GitHub,点击右上角头像,进入 “Settings”(设置)
    • 在左侧边栏中,找到并点击 “SSH and GPG keys”
    • 点击 “New SSH key”(新建 SSH 密钥) 按钮。
    • 在 “Title”(标题)中,为你的密钥起个易于识别的名字,比如 “lczhuigz”。
    • 在 “Key”(密钥)区域,粘贴你刚才复制的公钥内容
    • 最后,点击 “Add SSH key”(添加 SSH 密钥) 完成。

第四步:测试 SSH 连接

现在,来验证一下 SSH 配置是否成功。

  1. 在终端中,输入以下命令:
    1
    ssh -T git@github.com
  2. 首次连接时,可能会看到关于验证 GitHub 主机真实性的警告。检查指纹信息是否匹配(例如 GitHub 的 ED25519 密钥指纹是 SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU),然后输入 yes 继续。
  3. 如果配置成功,你会看到类似这样的欢迎信息:
    1
    Hi YOUR_USERNAME! You've successfully authenticated, but GitHub does not provide shell access.

🛠️ 使用 SSH 密钥 & 故障排查

  • 使用 SSH 地址克隆仓库:配置成功后,在克隆仓库或添加远程仓库地址时,记得使用 SSH 格式的 URL(形如 git@github.com:username/repo.git),而不是 HTTPS 地址。

  • 如果测试连接失败

    • 首先,仔细核对公钥是否完整正确地添加到了 GitHub,确保没有多余的空格或换行。
    • 如果使用代理或遇到端口问题,可以尝试修改 SSH 配置。创建或修改 ~/.ssh/config 文件,为 github.com 主机添加配置:
      1
      2
      3
      Host github.com
      Hostname ssh.github.com
      Port 443
    • 确保私钥文件权限正确,仅限用户本人读写。
  • 标题: Github配置SSH
  • 作者: lczhuigz
  • 创建于 : 2025-11-15 11:30:00
  • 更新于 : 2025-11-25 13:18:44
  • 链接: https://www.lczhuigz.top/2025/11/15/Configure_SSH_on_Github/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论