2025-10-17    2025-10-17    1606 字  4 分钟

The note is generated by 豆包.

一、配置目的

通过 SSH Key 实现与远程仓库(GitHub/GitLab/Gitee 等)的无密码安全连接,避免每次操作远程仓库时重复输入账号密码。

二、操作步骤

1. 检查本地是否已存在 SSH Key

首先确认本地是否已有生成好的 SSH Key,避免重复创建。

  • 终端 / 命令行工具

  • Linux/macOS:打开「终端」

  • Windows:打开「Git Bash」(需提前安装 Git)

  • 执行命令:

ls -la ~/.ssh
  • 结果判断:

  • 若输出中包含 id_rsa(私钥)和 id_rsa.pub(公钥),说明已存在 SSH Key,直接跳至「步骤 3」;

  • 若未找到这两个文件,需执行「步骤 2」生成新 Key。

2. 生成新的 SSH Key

若本地无 SSH Key,执行以下命令生成(需替换邮箱为你的 Git 账号关联邮箱)。

  • 执行命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 参数说明:

  • -t rsa:指定加密算法为 RSA(行业常用,兼容性好);

  • -b 4096:指定密钥长度为 4096 位(比默认的 2048 位更安全);

  • -C “邮箱”:添加注释(用于区分不同 Key,建议与 Git 账号邮箱一致)。

  • 生成过程中的交互提示(按以下建议操作):

  1. 指定保存路径

提示 Enter file in which to save the key (/Users/用户名/.ssh/id_rsa):,直接按「回车」使用默认路径(无需修改)。

  1. 设置密钥密码(可选)
  • 若需更高安全性(每次使用 SSH 需输入密码):输入密码后回车,再次输入密码确认;

  • 若需无密码登录(便捷):直接按两次「回车」跳过。

  • 生成成功标志:

~/.ssh 目录下新增两个文件:

  • id_rsa:私钥(核心文件,切勿泄露给他人或上传至公开仓库);

  • id_rsa.pub:公钥(需上传到远程仓库的内容)。

3. 查看并复制公钥内容

需将公钥(id_rsa.pub)的完整内容复制到远程仓库,操作如下:

  • 执行命令查看公钥:
cat ~/.ssh/id_rsa.pub
  • 复制公钥:

输出内容格式如下(以 ssh-rsa 开头,以你的邮箱结尾),需完整复制整行内容(包括开头的 ssh-rsa 和结尾的邮箱,不要遗漏或多复制空格):

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6e9Xt5kFz......(中间内容省略)...... your_email@example.com

4. 将公钥添加到远程仓库

GitHub 为例(GitLab/Gitee 操作逻辑一致,仅界面细节略有差异):

  1. 登录 GitHub 账号,点击右上角头像 → 选择「Settings」(设置);

  2. 在左侧菜单中找到「SSH and GPG keys」→ 点击「New SSH key」(或「Add SSH key」);

  3. 填写表单:

  • Title:自定义名称(如 “MacBook Pro”“办公电脑”,便于区分不同设备的 Key);

  • Key:粘贴步骤 3 中复制的公钥完整内容;

  1. 点击「Add SSH key」完成添加(若账号开启二次验证,需输入验证码确认)。

5. 验证 SSH 连接(可选但推荐)

验证配置是否成功,避免后续操作报错:

ssh -T git@github.com
  • 结果判断:
  1. 首次连接会提示「是否继续连接」,输入 yes 并回车;

  2. 若成功,会显示类似信息:

Hi [你的GitHub用户名]! You’ve successfully authenticated, but GitHub does not provide shell access.;

  1. 若失败,检查以下点:
  • 公钥是否完整复制(无多余空格 / 换行);

  • 远程仓库添加的公钥是否与本地 id_rsa.pub 一致;

  • 本地私钥(id_rsa)是否存在且未被修改。

三、补充说明

  1. 多仓库 / 多账号配置

若需同时连接多个远程仓库(如 GitHub + Gitee)或同一平台多个账号,需生成多个 SSH Key 并通过 ~/.ssh/config 文件配置区分,示例配置:

# GitHub 账号1Host github.com  HostName github.com  User git  IdentityFile ~/.ssh/id_rsa_github1# Gitee 账号Host gitee.com  HostName gitee.com  User git  IdentityFile ~/.ssh/id_rsa_gitee
  1. Windows 系统注意事项
  • 需使用「Git Bash」执行所有命令(不建议用 Windows 自带的命令提示符或 PowerShell);

  • ~ 对应路径为 C:\Users\你的Windows用户名(如 C:\Users\ZhangSan),可通过 cd ~ 跳转至该目录。

  1. 私钥安全

私钥(id_rsa)是本地身份凭证,若泄露可能导致远程仓库被非法操作,需确保:

  • 不将私钥上传至公开仓库或分享给他人;

  • 本地目录权限设置合理(Linux/macOS 可执行 chmod 600 ~/.ssh/id_rsa 限制权限)。