【问题标题】:Authenticity host github.com (140.82.xxx.x) can't be established - RSA key fingerprint is SHA256:nThbgh78...Are you sure you want to continue?无法建立真实性主机 github.com (140.82.xxx.x) - RSA 密钥指纹为 SHA256:nThbgh78...您确定要继续吗?
【发布时间】:2021-02-13 11:25:30
【问题描述】:

使用 Windows 10 戴尔系统计算机。

我希望能够从本地 repo 将推送文件发送到我的新 GitHub 存储库。

它不允许我使用 https 协议,因为它会继续提示我继续连接到我无法识别的 RSA 密钥指纹。
我已经生成了一个新密钥。我需要知道我的文件系统中的 RSA 密钥指纹清单在哪里。

我有:

  • 在 GitHub 上创建了一个本地目录文件,以及一个新的存储库。
  • 按照说明从命令行推送现有存储库。
  • 在我的新 GitHub 存储库中输入了“git push -u origin main”。

在命令行:

The authenticity of host 'github.com (140.82.XXx.x)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? no
Host key verification failed.
fatal: Could not read from remote repository.

解决方案???

  1. 我想我需要找到 RSA 密钥指纹的位置以确定我有多少个密钥。我怎么做?此操作将删除显示的那个。
  2. 不知道在哪里找到 RSA 密钥指纹 - 它是本地的还是远程的?
  3. 我已使用 Git Bash 并生成了一个新密钥,该密钥当前位于我的 GitHub 配置文件 ssh 密钥位置。

【问题讨论】:

  • 如果您用no 回答ssh 的问题(“我应该继续连接吗?”),ssh 将退出,当然您将无法克隆。如果您甚至没有被问到(它只是假设“否”),请先尝试与 GitHub 的交互式 ssh 连接,以便您可以回答它的问题。不过,这可能取决于 Windows 10 的 ssh 实现,我从未使用过。
  • 在 Linux 系统上,一般来说,您与 any 主机的第一次 ssh 连接会告诉您,它不确定应答的机器是否是您应该与之交谈的机器。您的工作是检查可用信息并决定是否信任该机器。然后您的 ssh 记录信任(如果您说要信任它),并且每个 未来 ssh 到 same 机器只是假设它没问题。

标签: git ssh ssh-keys


【解决方案1】:

类似问题中描述的提示意味着 GitHub.com 不在您的已知主机中。

如果您在收到提示时仅回答“y”(如 this answer 建议的那样),那么您相信(无需检查)您被提示的 RSA 指纹与 GitHub.com 的 RSA 指纹匹配,即您确实是连接到 GitHub.com。

此提示的目的是让您有机会验证您看到的 RSA 指纹是否确实匹配,以便您可以确定您确实连接到 GitHub.com。因此,为了获得最佳安全性,您应该实际检查,而不是在提示符处输入“y”而不检查。

以下是检查和确保 RSA 指纹匹配的方法:

  1. 检查 GitHub.com 的 RSA 指纹(在撰写本文时,它可以在此处的文档中找到 https://docs.github.com/en/github/authenticating-to-github/githubs-ssh-key-fingerprints 但我只是通过谷歌搜索“获取 github 当前 rsa 指纹”找到了这一点,所以如果将来链接发生变化,应该是只需搜索即可找到它)。
  2. 复制您在步骤 1 中找到的 GitHub.com 的 RSA 指纹,并将其粘贴到您的命令行中以响应 Are you sure you want to continue connecting (yes/no/[fingerprint])? 提示。只有当您粘贴的 RSA 指纹(即 GitHub 的 RSA 指纹)与您尝试连接的主机的 RSA 指纹匹配时,这才会导致连接继续,从而确保您真正连接到 GitHub。

请注意,您也可以手动比较指纹,如果它们匹配,则在提示符处输入“y”,而不是粘贴指纹,但这更容易出现人为错误。

【讨论】:

    【解决方案2】:

    它不允许我使用 https 协议,因为它会继续提示我继续连接到我无法识别的 RSA 密钥指纹。

    如果它确实提示您输入 RSA 密钥指纹,那么您无论如何都没有使用 HTTPS。您正在使用 SSH URL。

    当您第一次看到这个问题时,只需回答“y”:这将创建/更新一个%USERPROFILE%\.ssh\known_hosts 文件。

    【讨论】:

      猜你喜欢
      • 2018-05-22
      • 2022-12-06
      • 2019-08-28
      • 2013-09-13
      • 2022-08-12
      • 2011-04-09
      • 2021-06-18
      • 1970-01-01
      • 2017-02-08
      相关资源
      最近更新 更多