返回

排查 GitHub SSH 错误:“kex_exchange_identification: connection closed by remote host”

开发工具

修复 GitHub SSH 错误:“kex_exchange_identification: connection closed by remote host”

网络连接问题

如果您在尝试使用 SSH 将代码推送到 GitHub 时遇到“kex_exchange_identification: connection closed by remote host”错误,可能是由于网络连接问题导致的。首先,确保您的互联网连接稳定可靠。检查您的网络防火墙或代理设置,确保它们允许 SSH 连接。

SSH 密钥问题

如果网络连接正常,问题可能出在您的 SSH 密钥上。检查您的 SSH 密钥是否已正确配置并添加到您的 GitHub 帐户中。您可以尝试重新生成 SSH 密钥,然后将其添加到 GitHub 帐户中。

GitHub 服务器问题

有时,错误可能是由 GitHub 服务器问题引起的。检查 GitHub 的状态页面,确保没有报告任何中断或问题。您可以稍等片刻,看看问题是否自行解决。

解决方案

检查网络连接:

  • 确保您的互联网连接稳定可靠。
  • 检查您的网络防火墙或代理设置,确保它们允许 SSH 连接。

重新生成 SSH 密钥:

  • 在终端中运行以下命令生成新的 SSH 密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 将生成的公钥添加到您的 GitHub 帐户中。

更新 SSH 配置:

  • 检查您的 SSH 配置文件(通常是 ~/.ssh/config)是否正确。
  • 确保您正在使用正确的 SSH 端口(默认端口为 22)。

尝试不同的 SSH 客户端:

  • 如果您使用的是默认的 SSH 客户端,请尝试使用其他 SSH 客户端,例如 PuTTY 或 OpenSSH。

联系 GitHub 支持:

  • 如果您已经尝试了上述所有解决方案,但问题仍然存在,请联系 GitHub 支持寻求帮助。

注意事项

  • 在进行任何更改之前,请务必备份您的 SSH 密钥和其他重要文件。
  • 如果您不熟悉 SSH 或 GitHub,请在进行任何更改之前咨询经验丰富的专业人士。

结论

希望本文能帮助您解决 GitHub SSH 错误:“kex_exchange_identification: connection closed by remote host”。如果您仍然遇到问题,请随时在评论区留言,我将尽力为您解答。

常见问题解答

  1. 什么是 SSH 密钥?

    SSH 密钥是一对用于加密 SSH 连接的加密密钥。公钥存储在服务器上,私钥存储在客户端上。

  2. 如何重新生成 SSH 密钥?

    在终端中运行以下命令:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
  3. 如何将 SSH 公钥添加到 GitHub 帐户中?

    • 登录您的 GitHub 帐户。
    • 点击右上角的个人资料图片。
    • 选择“Settings”。
    • 点击左侧菜单中的“SSH and GPG keys”。
    • 点击“New SSH key”。
    • 输入密钥标题并粘贴您的公钥。
    • 点击“Add SSH key”。
  4. 什么是 SSH 配置文件?

    SSH 配置文件是一个包含 SSH 连接设置的文件。该文件通常位于 ~/.ssh/config。

  5. 如何更新 SSH 配置文件?

    使用文本编辑器打开 SSH 配置文件。添加或更新以下行:

    Host github.com
    HostName github.com
    User git
    Port 22
    

    保存并关闭文件。