[特殊字符] 在 Windows 新电脑上配置 GitHub SSH 的完整记录(含坑点与解决方案)
最近在新电脑上配置 GitHub SSH 的时候,我踩了不少坑。这里完整记录下来,包括遇到的问题、报错信息和最终解决方案。希望能帮到后来的人,也方便自己以后查阅。
1. 初次尝试:HTTPS 克隆失败
我最开始是用 HTTPS 地址克隆仓库:
git clone https://github.com/BojianZhang/enterprise-mail-system.git
结果报错:
fatal: unable to access 'https://github.com/BojianZhang/enterprise-mail-system.git/': Recv failure: Connection was aborted
这说明 GitHub 的 HTTPS 访问在我的网络环境下被拦截或中断了。
2. 尝试 SSH 时发现未配置 Key
转向 SSH 方式时,运行:
ssh-add ~/.ssh/id_ed25519
报错:
No such file or directory
原因是尚未生成 SSH Key。
3. 生成 SSH Key
使用以下命令生成密钥:
ssh-keygen -t ed25519 -C "我的GitHub邮箱"
连续回车确认后,生成 id_ed25519
和 id_ed25519.pub
文件。
然后执行:
cat ~/.ssh/id_ed25519.pub
将输出的公钥添加到 GitHub 的 Settings > SSH and GPG keys
中。
4. 22 端口被封问题
测试 SSH 连接:
ssh -T git@github.com
出现错误:
banner exchange: Connection to 197.x.x.x port 22: Software caused connection abort
这表明当前网络环境屏蔽了 22 端口。
🔧 解决方法:让 Git 走 443 端口(而不是 22)
5. 永久修改配置(强制用 443 端口)
编辑 SSH 配置文件:
notepad ~/.ssh/config
填入以下内容:
Host github.comHostName ssh.github.comUser gitPort 443
或者直接输入
$ mkdir -p ~/.sshprintf "Host github.com\n HostName ssh.github.com\n User git\n Port 443\n" > ~/.ssh/configcat ~/.ssh/config
Host github.comHostName ssh.github.comUser gitPort 443
保存后,再次测试连接:
ssh -T git@github.com
这表示第一次连接到 ssh.github.com:443
,系统在询问你是否信任该主机的指纹。你刚才没有输入 yes
,所以失败了。首次连接需要验证指纹,输入 yes
后成功建立连接。
6. 成功克隆仓库
最后使用 SSH 地址克隆:
git clone git@github.com:BojianZhang/enterprise-mail-system.git
操作顺利完成!
总结
- HTTPS 克隆失败 → 改用 SSH 方式
- 缺少 SSH Key → 生成并配置密钥
- 22 端口被封 → 改用 443 端口
- 成功完成克隆 🎉
经验总结:在新环境中配置时,应先测试 GitHub 的 HTTPS/SSH 访问情况,必要时使用 443 端口。这一流程可以作为未来换机时的参考方案。