git工具报错:SSL peer certificate or SSH remote key was not OK 解决方案
这是一个常见的 SSL 证书问题。可以尝试如下解决方法:
第 1 步:生成 SSH 密钥(如果你还没有的话)
打开 Git Bash(在开始菜单中搜索)或者 PowerShell,然后运行:
ssh-keygen -t ed25519 -C "你的邮箱地址@example.com"
-t ed25519:指定生成更安全、更快的 Ed25519 类型密钥。-C "你的邮箱...":添加一个注释,通常用你的邮箱,方便标识这个密钥的拥有者。
接下来会提示你:
- "Enter file in which to save the key (...)":直接按
Enter键使用默认路径和文件名(C:\Users\你的用户名\.ssh\id_ed25519)。 - "Enter passphrase (empty for no passphrase)":为密钥设置一个密码(推荐,更安全)或者直接按
Enter留空(更方便,但安全性稍低)。
看到类似下面的输出,就表示生成成功了:
Your identification has been saved in /c/Users/你的用户名/.ssh/id_25519
Your public key has been saved in /c/Users/你的用户名/.ssh/id_25519.pub
第 2 步:复制公钥内容
公钥文件是 .pub 结尾的那个。你需要复制它的全部内容。
方法 A:在 Git Bash 或 PowerShell 中使用命令(推荐)
# 这个命令会自动将公钥内容复制到你的系统剪贴板
cat ~/.ssh/id_ed25519.pub | clip
方法 B:手动打开文件复制
- 打开文件资源管理器,在地址栏输入
%USERPROFILE%\.ssh并按回车。 - 找到
id_ed25519.pub文件(如果没有扩展名,就看类型是“文件”的那个)。 - 用记事本或其他文本编辑器打开它。
- 选中并复制里面的全部文字。它的内容看起来像这样:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJp6BvQn1xU6LJ6XrXZzXZzXZzXZzXZzXZzXZzXZzXZ your_email@example.com
第 3 步:将公钥添加到 GitHub 账户
-
打开 GitHub 并登录:访问 github.com 并登录你的账户。
-
进入设置页面:点击右上角的你的头像,然后选择 Settings。
-
找到 SSH 设置:在左侧边栏中,找到并点击 SSH and GPG keys。
-
添加新密钥:点击绿色的 New SSH key 按钮。
-
填写信息:
- Title:给你的这个密钥起个名字,比如
My Windows Laptop或Home Desktop,方便你以后识别是在哪台电脑上用的。 - Key type:保持默认的
Authentication Key即可。 - Key:将第 2 步中复制的整个公钥内容粘贴到这个框里。
- Title:给你的这个密钥起个名字,比如
-
保存:点击 Add SSH key 按钮完成添加。
第 4 步:测试连接
回到 Git Bash 或 PowerShell,运行以下命令来测试是否成功:
ssh -T git@github.com
你可能会看到类似这样的警告,输入 yes 并按回车即可:
The authenticity of host 'github.com (IP地址)' can't be established.
ED25519 key fingerprint is SHA256:一串指纹.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
如果设置成功,你会看到一条欢迎信息:
Hi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access.
看到这个就说明大功告成了!
但是如果之后显示的是
ssh: connect to host github.com port 22: Connection refused
这个错误 Connection refused 表示你的网络无法通过默认的 SSH 端口(22)连接到 GitHub。这通常是由于防火墙、代理或网络限制导致的。解决方法:
方法 1:使用 HTTPS 端口 over SSH
GitHub 允许通过 HTTPS 端口(443)进行 SSH 连接,这通常能绕过防火墙限制。
编辑或创建 SSH 配置文件:
- 打开 Git Bash 或 PowerShell
- 编辑 SSH 配置:
步骤 1:打开文件资源管理器
- 按
Win + R,输入%USERPROFILE%然后回车 - 如果看不到
.ssh文件夹,可能需要显示隐藏文件:- 点击"查看"选项卡
- 勾选"隐藏的项目"
步骤 2:创建或修改配置文件
- 进入
.ssh文件夹 - 如果
config文件不存在,右键 → 新建 → 文本文档 - 将文件名改为
config(去掉.txt扩展名) - 用记事本打开,添加以下内容:
Host github.com
Hostname ssh.github.com
Port 443
User git
IdentityFile ~/.ssh/id_ed25519
-
保存文件并退出
-
再次测试连接:
ssh -T git@github.com
第 5 步:使用 SSH 克隆项目
现在你就可以使用 SSH 地址来克隆项目了,不会再遇到 SSL 证书错误。
总结
- 生成密钥:
ssh-keygen -t ed25519 -C "你的邮箱" - 复制公钥:
cat ~/.ssh/id_ed25519.pub | clip - 添加到 GitHub:在 Settings -> SSH and GPG keys 页面添加
- 测试:
ssh -T git@github.com - 享受:使用
git clone git@...来克隆项目
这样配置一次之后,以后在这台电脑上使用 GitHub 都会非常方便和安全。
更多推荐
所有评论(0)