0. 前置:安装 Git for Windows(若未安装)

  1. 下载并安装 Git for Windows。
  2. 安装完成后打开 Git Bash(开始菜单搜索)。

1. 配置 Git 用户信息

git config --global user.name "MemoryCollection"
git config --global user.email "csszue@gmail.com"

2. 生成 SSH 密钥(推荐 Ed25519)

在 Git Bash 中执行:

ssh-keygen -t ed25519 -C "csszue@gmail.com"
  • -t ed25519:使用更安全的 Ed25519 算法生成密钥。
  • -C "csszue@gmail.com":注释信息,建议使用 GitHub 注册邮箱。
  • 提示保存位置时直接按 Enter(默认 C:\Users\你的用户名\.ssh\id_ed25519)。
  • 提示输入密码(passphrase)时可直接按 Enter 跳过。

备选(旧系统不支持 Ed25519 时用 RSA):

ssh-keygen -t rsa -b 4096 -C "csszue@gmail.com"

3. 查看并复制 SSH 公钥

Git Bash:

cat ~/.ssh/id_ed25519.pub

PowerShell(RSA 密钥时):

Get-Content ~\.ssh\id_rsa.pub

输出示例(从 ssh-ed25519 开头到邮箱结尾,整行复制):

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILz2+...  csszue@gmail.com

4. 将公钥添加到 GitHub

  1. 登录 GitHub,右上角头像 → Settings → SSH and GPG keys。
  2. 点击 New SSH key。
  3. Title:自定义名称(例如 Windows PC)。
  4. Key:粘贴上一步复制的公钥内容。
  5. 点击 Add SSH key,输入 GitHub 密码确认。

5. 测试 SSH 连接

ssh -T git@github.com

首次连接可能提示:

The authenticity of host 'github.com (140.82.113.4)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入 yes 回车,成功后会看到:

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

6. 把仓库远程地址切换为 SSH

查看当前远程 URL:

git remote -v

如果是 HTTPS 协议,改为 SSH:

git remote set-url origin git@github.com:<username>/<repository>.git

之后即可用 SSH 克隆、推送、拉取:

git clone git@github.com:MemoryCollection/your-repo.git

常见问题

  1. 权限问题:确保 .ssh 目录和密钥文件权限正确(Windows 通常无需手动设置)。
  2. 密钥已被使用:检查邮箱是否已关联其他 GitHub 账户。
  3. 连接超时:检查网络或防火墙设置,必要时使用代理。遇到问题请提供具体错误信息以便排查。