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 账号邮箱一致)。
生成过程中的交互提示(按以下建议操作):
- 指定保存路径:
提示 Enter file in which to save the key (/Users/用户名/.ssh/id_rsa):,直接按「回车」使用默认路径(无需修改)。
- 设置密钥密码(可选):
若需更高安全性(每次使用 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 操作逻辑一致,仅界面细节略有差异):
登录 GitHub 账号,点击右上角头像 → 选择「Settings」(设置);
在左侧菜单中找到「SSH and GPG keys」→ 点击「New SSH key」(或「Add SSH key」);
填写表单:
Title:自定义名称(如 “MacBook Pro”“办公电脑”,便于区分不同设备的 Key);
Key:粘贴步骤 3 中复制的公钥完整内容;
- 点击「Add SSH key」完成添加(若账号开启二次验证,需输入验证码确认)。
5. 验证 SSH 连接(可选但推荐)
验证配置是否成功,避免后续操作报错:
- 执行命令(以 GitHub 为例,GitLab 替换为 git@gitlab.com,Gitee 替换为 git@gitee.com):
ssh -T git@github.com
- 结果判断:
首次连接会提示「是否继续连接」,输入 yes 并回车;
若成功,会显示类似信息:
Hi [你的GitHub用户名]! You’ve successfully authenticated, but GitHub does not provide shell access.;
- 若失败,检查以下点:
公钥是否完整复制(无多余空格 / 换行);
远程仓库添加的公钥是否与本地 id_rsa.pub 一致;
本地私钥(id_rsa)是否存在且未被修改。
三、补充说明
- 多仓库 / 多账号配置:
若需同时连接多个远程仓库(如 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
- Windows 系统注意事项:
需使用「Git Bash」执行所有命令(不建议用 Windows 自带的命令提示符或 PowerShell);
~ 对应路径为 C:\Users\你的Windows用户名(如 C:\Users\ZhangSan),可通过 cd ~ 跳转至该目录。
- 私钥安全:
私钥(id_rsa)是本地身份凭证,若泄露可能导致远程仓库被非法操作,需确保:
不将私钥上传至公开仓库或分享给他人;
本地目录权限设置合理(Linux/macOS 可执行 chmod 600 ~/.ssh/id_rsa 限制权限)。