前言
在使用 Git 进行版本控制时,SSH 是一种安全、高效的认证方式。通过配置 SSH 密钥对(公钥和私钥),我们可以免去每次操作远程仓库时输入用户名和密码的麻烦。
本文将详细介绍如何生成 SSH 密钥对,并将其配置到 Git 和 GitHub(或其他平台)中。内容涵盖 macOS、Windows 和 Linux 三大主流操作系统平台,帮助你完成完整的 SSH 密钥配置流程。
介绍如何在 macOS、Windows 和 Linux 系统上生成并配置 SSH 密钥对,将其添加到 Git 平台(如 GitHub),测试连接以及管理多个账户。内容涵盖密钥检查、生成命令、公钥上传及常见问题解决,旨在提升 Git 操作的安全性与效率。

在使用 Git 进行版本控制时,SSH 是一种安全、高效的认证方式。通过配置 SSH 密钥对(公钥和私钥),我们可以免去每次操作远程仓库时输入用户名和密码的麻烦。
本文将详细介绍如何生成 SSH 密钥对,并将其配置到 Git 和 GitHub(或其他平台)中。内容涵盖 macOS、Windows 和 Linux 三大主流操作系统平台,帮助你完成完整的 SSH 密钥配置流程。
在开始之前,先检查本地是否已经存在 SSH 密钥对:
ls -al ~/.ssh
如果你看到如下文件,则说明已经有密钥对了:
id_rsa(私钥)id_rsa.pub(公钥)你可以选择继续使用现有密钥,或跳过此步骤并生成新的密钥对。
无论使用哪种操作系统,我们都可以使用以下命令生成新的 SSH 密钥对:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
~/.ssh/id_rsa)。为了更方便地管理你的 SSH 私钥,在 macOS 上你可以运行以下命令将私钥添加到钥匙串中:
ssh-add --apple-use-keychain ~/.ssh/id_rsa
这样可以避免每次使用时都要输入密码。
建议使用 Git Bash 或 PowerShell 来执行命令。
ssh-keygen -t rsa -b 4096 -C "[email protected]"
C:\Users\<YourUsername>\.ssh\id_rsa。为了让 Windows 记住你的 SSH 密钥,你需要启动 SSH Agent 并添加你的私钥:
# 启动 SSH Agent
eval "$(ssh-agent -s)"
# 添加私钥
ssh-add ~/.ssh/id_rsa
💡 如果你使用的是 Windows 10/11,也可以启用 OpenSSH 客户端:
控制面板 > 程序 > 启用或关闭 Windows 功能 > OpenSSH 客户端
ssh-keygen -t rsa -b 4096 -C "[email protected]"
~/.ssh/id_rsa)。为了不每次都手动添加密钥,可以在 ~/.bashrc 或 ~/.zshrc 中添加以下内容:
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa
然后重新加载配置:
source ~/.bashrc # 或 source ~/.zshrc
cat ~/.ssh/id_rsa.pub
复制输出内容。
执行以下命令测试是否能成功连接到 Git 平台(以 GitHub 为例):
ssh -T [email protected]
如果看到类似如下信息,说明配置成功:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
如果你有多个 Git 账号(例如工作账号和个人账号),可以通过配置不同的 SSH 密钥实现多账户管理。
例如生成用于工作的密钥:
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/id_rsa_work
nano ~/.ssh/config
添加如下内容(以 GitHub 为例):
# 默认账号
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# 工作账号
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
使用别名来测试:
ssh -T git@github-work
ssh -v [email protected] 查看详细错误日志。ssh -i ~/.ssh/id_rsa.pub -v [email protected]
修改 ~/.ssh/config 文件中的 IdentityFile 指向即可。
配置 SSH 密钥不仅提高了 Git 使用的安全性,也极大提升了开发效率。希望这篇教程能够帮助你在 macOS、Windows 和 Linux 上顺利完成 Git 的 SSH 密钥配置,愉快地进行代码协作与版本管理!
提示:如果你正在使用其他平台(如 GitLab、Bitbucket、Gitee 等),它们的 SSH 配置方式与 GitHub 类似,只需将对应的主机名替换即可。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online