您当前的位置:首页 > 计算机 > 系统应用 > macOS

在 macOS 上配置 SSH 连接 GitHub

时间:09-05来源:作者:点击数:
CDSY,CDSY.XYZ

在 macOS 上使用 SSH 连接 GitHub,可以免去每次使用 Git 时输入密码的麻烦,提高开发效率。本文将介绍如何在 macOS 上生成 SSH 密钥并配置 GitHub 进行身份认证。


1. 检查是否已有 SSH 密钥

在终端运行以下命令,检查是否已有 SSH 密钥:

ls -al ~/.ssh

如果看到 id_rsa 和 id_rsa.pub 这两个文件,说明已有 SSH 密钥,可跳过生成步骤。

在这里插入图片描述

2. 生成新的 SSH 密钥

如果没有 SSH 密钥,可以运行以下命令生成一个新的:

ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
  • -t rsa:使用 RSA 加密算法
  • -b 4096:生成 4096 位密钥,提高安全性
  • -C "your-email@example.com":添加你的 GitHub 账号邮箱作为注释

终端会提示你保存密钥的路径,默认路径是 ~/.ssh/id_rsa,直接按 回车 即可。

系统还会提示输入 Passphrase(密码短语),可以选择输入(提高安全性)或直接回车跳过(更方便使用)。


3. 添加 SSH 密钥到 ssh-agent 并让其永久生效

为了避免每次使用 SSH 都要输入密钥密码,可以将密钥添加到 ssh-agent 中。

  1. 启动 ssh-agent
    eval "$(ssh-agent -s)"
    
  2. 添加 SSH 私钥到 ssh-agent
    ssh-add ~/.ssh/id_rsa
    
🔒 让 ssh-agent 记住密钥(避免重启后失效)

如果你想让 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

4. 添加 SSH 公钥到 GitHub

SSH 连接 GitHub 需要将 公钥 添加到 GitHub 账号。

  1. 显示 SSH 公钥内容:
    cat ~/.ssh/id_rsa.pub
    
  2. 复制终端输出的公钥内容。
  3. 打开 GitHub SSH Key 设置( github /settings/keys)。
  4. 点击 “New SSH Key”
    • Title:输入描述,如 “MacBook SSH Key”。
    • Key Type:选择 Authentication Key
    • Key:粘贴公钥内容。
  5. 点击 “Add SSH Key”,完成绑定。

5. 测试 SSH 连接

使用以下命令测试 SSH 连接 GitHub:

ssh -T git@github.com

如果成功,会返回:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

6. 让 Git 使用 SSH 方式

默认情况下,Git 可能仍然使用 HTTPS 访问 GitHub。可以运行以下命令让 Git 全局使用 SSH:

git config --global url."git@github.com:".insteadOf "https://github.com/"

这将确保 git clonegit pull 和 git push 默认使用 SSH。


7. 常见问题与解决方案

1. Permission denied (publickey). 错误

解决方法

  • 确保 SSH Key 已经添加到 GitHub。
  • 运行 ssh-add -l 确保密钥已经加载。
  • 重新运行 ssh -T git@github.com 进行测试。
2. Agent admitted failure to sign using the key

解决方法

重新添加 SSH 密钥到 ssh-agent

ssh-add ~/.ssh/id_rsa
3. Git 操作仍然要求输入用户名和密码

解决方法

  • 确保 GitHub 远程地址是 SSH 形式:
    git remote -v
    
    如果是 https://,修改为 SSH:
    git remote set-url origin git@github.com:your-username/your-repo.git
    

8. 总结

至此,你已经成功配置 SSH 连接 GitHub,并让 Git 默认使用 SSH。这样,在 git clonegit pull 和 git push 时,都不需要再输入密码,极大提升开发效率。

✅ 完成的步骤:

  • 生成 SSH 密钥
  • 添加密钥到 ssh-agent 并配置永久生效
  • 将公钥添加到 GitHub
  • 测试 SSH 连接
  • 配置 Git 使用 SSH

现在,你可以无密码使用 GitHub 了!🚀

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐