Skip to content

Git SSH 配置到 GitHub 的简单教程

适用于 Windows / macOS / Linux,目标是让 Git 能无密码推送到 GitHub。

步骤 1:生成 SSH 密钥

打开终端,执行:

bash
ssh-keygen -t ed25519 -C "你的邮箱@example.com"

连续按 3 次回车(路径默认、密码为空、确认密码为空),即可生成。

生成密钥

生成后会有两个文件:

  • 私钥:~/.ssh/id_ed25519 不要给别人看,不要复制到 GitHub
  • 公钥:~/.ssh/id_ed25519.pub 下一步要复制到 GitHub

步骤 2:查看完整密钥内容

查看公钥(用于复制到 GitHub)

系统命令
Windows CMDtype %USERPROFILE%\.ssh\id_ed25519.pub
macOS / Linuxcat ~/.ssh/id_ed25519.pub

输出类似:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..... 你的邮箱@example.com

把整行复制下来,下一步粘贴到 GitHub。

💡 macOS 还可以一步复制到剪贴板:pbcopy < ~/.ssh/id_ed25519.pub

查看私钥(仅作本地确认,不要分享)

系统命令
Windows CMDtype %USERPROFILE%\.ssh\id_ed25519
macOS / Linuxcat ~/.ssh/id_ed25519

⚠️ 私钥是最高机密,不要复制到任何聊天窗口、代码仓库或第三方网站! 只保存在你本地电脑。

步骤 3:把公钥添加到 GitHub

  1. 打开:https://github.com/settings/keys
  2. 点击左侧 SSH and GPG keys
  3. 点击右上角 New SSH key

GitHub SSH 设置

  1. Title 随便写,例如 公司电脑
  2. Key 粘贴第 2 步复制的公钥整行
  3. 点击 Add SSH key

步骤 4:测试连接

bash
ssh -T git@github.com

第一次会提示:

Are you sure you want to continue connecting (yes/no)?

输入 yes 回车。

成功会显示:

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

步骤 5:启动 ssh-agent(按系统选择)

Windows PowerShell

powershell
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Windows Git Bash

bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

macOS / Linux

macOS 通常自动管理 ssh-agent,如果 ssh -T 已经成功可跳过。

如需手动启动:

bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

macOS 可在 ~/.zshrc 中加 ssh-add --apple-use-keychain ~/.ssh/id_ed25519 让钥匙串自动加载。

步骤 6:把仓库改成 SSH 地址

进入你的项目目录,查看当前 remote:

bash
git remote -v

改成 SSH 地址:

bash
git remote set-url origin git@github.com:eonsee/vercel-docs.git

再确认一下:

bash
git remote -v

应该看到:

origin  git@github.com:eonsee/vercel-docs.git (fetch)
origin  git@github.com:eonsee/vercel-docs.git (push)

步骤 7:推送代码

bash
git push -u origin main

不再需要密码,也不再弹出浏览器,直接推送到 GitHub。


常见问题

Q:报 Permission denied (publickey)

  1. 确认公钥已完整复制到 GitHub
  2. 确认密钥文件存在于 ~/.ssh/ 目录
  3. 按步骤 5 启动 ssh-agent 并添加密钥

Q:报 Host key verification failed

系统命令
Windows CMDssh-keyscan github.com >> %USERPROFILE%\.ssh\known_hosts
macOS / Linuxssh-keyscan github.com >> ~/.ssh/known_hosts

Q:Windows 下 ssh-agent 服务启动失败

以管理员权限打开 PowerShell:

powershell
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

Q:macOS 每次重启都要重新 ssh-add

~/.zshrc 中添加:

bash
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

macOS 钥匙串会记住 passphrase,重启后自动加载。