这是一个常见的 SSL 证书问题。可以尝试如下解决方法:

第 1 步:生成 SSH 密钥(如果你还没有的话)

打开 Git Bash(在开始菜单中搜索)或者 PowerShell,然后运行:


ssh-keygen -t ed25519 -C "你的邮箱地址@example.com"
  • -t ed25519:指定生成更安全、更快的 Ed25519 类型密钥。
  • -C "你的邮箱...":添加一个注释,通常用你的邮箱,方便标识这个密钥的拥有者。

接下来会提示你:

  1. "Enter file in which to save the key (...)":直接按 Enter 键使用默认路径和文件名(C:\Users\你的用户名\.ssh\id_ed25519)。
  2. "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:手动打开文件复制

  1. 打开文件资源管理器,在地址栏输入 %USERPROFILE%\.ssh 并按回车。
  2. 找到 id_ed25519.pub 文件(如果没有扩展名,就看类型是“文件”的那个)。
  3. 用记事本或其他文本编辑器打开它。
  4. 选中并复制里面的全部文字。它的内容看起来像这样:

    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJp6BvQn1xU6LJ6XrXZzXZzXZzXZzXZzXZzXZzXZzXZ your_email@example.com

第 3 步:将公钥添加到 GitHub 账户

  1. 打开 GitHub 并登录:访问 github.com 并登录你的账户。

  2. 进入设置页面:点击右上角的你的头像,然后选择 Settings

  3. 找到 SSH 设置:在左侧边栏中,找到并点击 SSH and GPG keys

  4. 添加新密钥:点击绿色的 New SSH key 按钮。

  5. 填写信息

    • Title:给你的这个密钥起个名字,比如 My Windows Laptop 或 Home Desktop,方便你以后识别是在哪台电脑上用的。
    • Key type:保持默认的 Authentication Key 即可。
    • Key:将第 2 步中复制的整个公钥内容粘贴到这个框里。
  6. 保存:点击 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 配置文件:

  1. 打开 Git Bash 或 PowerShell
  2. 编辑 SSH 配置:

        步骤 1:打开文件资源管理器

  1. 按 Win + R,输入 %USERPROFILE% 然后回车
  2. 如果看不到 .ssh 文件夹,可能需要显示隐藏文件:
    • 点击"查看"选项卡
    • 勾选"隐藏的项目"

         步骤 2:创建或修改配置文件

  1. 进入 .ssh 文件夹
  2. 如果 config 文件不存在,右键 → 新建 → 文本文档
  3. 将文件名改为 config(去掉 .txt 扩展名)
  4. 用记事本打开,添加以下内容:
Host github.com
  Hostname ssh.github.com
  Port 443
  User git
  IdentityFile ~/.ssh/id_ed25519

  1. 保存文件并退出

  2. 再次测试连接:

ssh -T git@github.com

第 5 步:使用 SSH 克隆项目

现在你就可以使用 SSH 地址来克隆项目了,不会再遇到 SSL 证书错误。

总结

  1. 生成密钥ssh-keygen -t ed25519 -C "你的邮箱"
  2. 复制公钥cat ~/.ssh/id_ed25519.pub | clip
  3. 添加到 GitHub:在 Settings -> SSH and GPG keys 页面添加
  4. 测试ssh -T git@github.com
  5. 享受:使用 git clone git@... 来克隆项目

这样配置一次之后,以后在这台电脑上使用 GitHub 都会非常方便和安全。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐