在 macOS 上使用 SSH 连接 GitHub,可以免去每次使用 Git 时输入密码的麻烦,提高开发效率。本文将介绍如何在 macOS 上生成 SSH 密钥并配置 GitHub 进行身份认证。
在终端运行以下命令,检查是否已有 SSH 密钥:
ls -al ~/.ssh
如果看到 id_rsa 和 id_rsa.pub 这两个文件,说明已有 SSH 密钥,可跳过生成步骤。

如果没有 SSH 密钥,可以运行以下命令生成一个新的:
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
终端会提示你保存密钥的路径,默认路径是 ~/.ssh/id_rsa,直接按 回车 即可。
系统还会提示输入 Passphrase(密码短语),可以选择输入(提高安全性)或直接回车跳过(更方便使用)。
为了避免每次使用 SSH 都要输入密钥密码,可以将密钥添加到 ssh-agent 中。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
如果你想让 ssh-agent 记住你的密钥,每次开机后自动加载,可以执行以下命令:
echo "ssh-add ~/.ssh/id_rsa" >> ~/.zshrc # 适用于 zsh(macOS 默认)
echo "ssh-add ~/.ssh/id_rsa" >> ~/.bashrc # 适用于 bash
然后重新加载 shell 配置:
source ~/.zshrc # 如果你使用 zsh
source ~/.bashrc # 如果你使用 bash
如果你使用 macOS Monterey 及以上版本,可能需要修改 ~/.ssh/config 以启用 UseKeychain 选项:
echo "Host github.com\n AddKeysToAgent yes\n UseKeychain yes\n IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config
SSH 连接 GitHub 需要将 公钥 添加到 GitHub 账号。
cat ~/.ssh/id_rsa.pub
使用以下命令测试 SSH 连接 GitHub:
ssh -T git@github.com
如果成功,会返回:
Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
默认情况下,Git 可能仍然使用 HTTPS 访问 GitHub。可以运行以下命令让 Git 全局使用 SSH:
git config --global url."git@github.com:".insteadOf "https://github.com/"
这将确保 git clone、git pull 和 git push 默认使用 SSH。
解决方法:
解决方法:
重新添加 SSH 密钥到 ssh-agent:
ssh-add ~/.ssh/id_rsa
解决方法:
git remote -v
如果是 https://,修改为 SSH:
git remote set-url origin git@github.com:your-username/your-repo.git
至此,你已经成功配置 SSH 连接 GitHub,并让 Git 默认使用 SSH。这样,在 git clone、git pull 和 git push 时,都不需要再输入密码,极大提升开发效率。
✅ 完成的步骤:
现在,你可以无密码使用 GitHub 了!🚀

