Mac Git SSH密钥配置需六步:一、检查~/.ssh目录是否存在密钥;二、推荐用ssh-keygen -t ed25519生成ED25519密钥;三、旧系统可用rsa -b 4096;四、启动ssh-agent并ssh-add添加私钥;五、复制公钥至GitHub/Gitee账户;六、用ssh -T测试连接。

如果您已在Mac上安装Git,但无法通过SSH协议安全连接GitHub、Gitee等代码托管平台,则很可能是尚未生成并配置有效的SSH密钥。以下是完成Mac Git SSH密钥配置的完整操作步骤:
一、检查本地是否已存在SSH密钥
重复生成密钥可能导致密钥混淆或覆盖,应先确认 ~/.ssh/ 目录中是否已有可用密钥文件。该步骤可避免误删关键凭证或引发多密钥冲突。
1、打开“终端”(Terminal)应用。
2、输入命令:ls -al ~/.ssh 并按回车。
3、观察输出结果:若包含 id_rsa.pub 或 id_ed25519.pub 文件,则表示已有密钥;若提示 No such file or directory,则需新建密钥。
二、生成ED25519类型SSH密钥(推荐方式)
ED25519是当前安全性更高、密钥更短且生成更快的算法,适用于macOS 10.15(Catalina)及以上系统。其公钥体积小、抗量子计算能力更强,为首选方案。
1、在终端中执行:ssh-keygen -t ed25519 -C "your_email@example.com",请将邮箱替换为GitHub/Gitee注册邮箱。
2、当提示 Enter a file in which to save the key 时,直接按回车使用默认路径 ~/.ssh/id_ed25519。
3、可选:输入密码短语(passphrase)增强私钥本地防护;若留空则无需密码即可使用。
4、执行 ls -al ~/.ssh 确认生成了 id_ed25519(私钥)和 id_ed25519.pub(公钥)两个文件。
三、生成RSA类型SSH密钥(兼容旧系统)
RSA密钥具有更广的兼容性,适用于macOS 10.14(Mojave)及更早版本,或需对接不支持ED25519的老旧Git服务端。其4096位长度仍满足当前主流安全要求。
1、在终端中执行:ssh-keygen -t rsa -b 4096 -C "your_email@example.com",邮箱需与代码平台一致。
2、提示保存路径时,按回车采用默认位置 ~/.ssh/id_rsa。
3、按提示决定是否设置密码短语,输入后确认。
4、运行 ls -al ~/.ssh 验证是否生成 id_rsa 和 id_rsa.pub。
四、启动ssh-agent并添加私钥
ssh-agent是macOS内置的密钥管理守护进程,用于在当前终端会话中缓存已解密的私钥,避免每次Git操作重复输入密码短语,提升操作效率与安全性。
1、执行:eval "$(ssh-agent -s)" 启动agent并加载环境变量。
2、根据所用密钥类型,执行对应命令添加私钥:
若使用ED25519密钥:ssh-add --apple-use-keychain ~/.ssh/id_ed25519
若使用RSA密钥:ssh-add --apple-use-keychain ~/.ssh/id_rsa
3、系统可能弹出“钥匙串访问”权限窗口,请勾选 始终允许 并输入管理员密码确认。
五、复制公钥内容并添加至代码平台
公钥需上传至GitHub、Gitee等平台账户设置中,平台将用其验证来自本机的SSH连接请求,完成身份绑定。此步骤不可跳过,否则SSH连接将被拒绝。
1、在终端中执行:cat ~/.ssh/id_ed25519.pub | pbcopy(ED25519)或 cat ~/.ssh/id_rsa.pub | pbcopy(RSA),自动复制公钥到剪贴板。
2、登录GitHub:进入 Settings → SSH and GPG keys → New SSH key;或登录Gitee:进入 设置 → SSH公钥 → 添加。
3、在Title栏填写标识名称(如 My Mac Pro for GitHub);在Key栏粘贴已复制的公钥全文(须从 ssh-ed25519 或 ssh-rsa 开始,至邮箱结束)。
4、点击 Add SSH key 或 确定 完成提交。
六、测试SSH连接有效性
该步骤用于验证密钥已正确生成、加载并被远程平台识别,是配置完成前的关键确认环节。成功响应表明SSH通道已就绪,可立即用于Git操作。
1、执行:ssh -T git@github.com(GitHub)或 ssh -T git@gitee.com(Gitee)。
2、首次连接时,终端将显示服务器指纹并提示:Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes 并回车。
3、若配置正确,将收到类似 Hi username! You've successfully authenticated... 的欢迎消息。


















