警告 - 潜在的安全漏洞。 VSCode 和 Git 都无法识别 SSH 密钥

问题描述 投票:0回答:1

1。问题总结

今天我尝试使用 VSCode 将更改从本地计算机推送到 Github 上的远程存储库。系统反复挂断。我尝试只拉,然后推,同步,甚至更新远程服务器。但 VSCode 一直挂起并且无法与远程服务器同步。

然后我尝试使用 Git Bash 终端进行推送。它没有挂断电话,而是告诉我:

警告 - 潜在的安全漏洞!服务器的主机密钥与 PuTTY 缓存的主机密钥不匹配。这意味着服务器 管理员已更改主机密钥,或者您已实际连接 到另一台冒充服务器的计算机。新的 rsa2 指纹是:已编辑 如果您期待此更改并信任 新密钥,输入“y”以更新 PuTTY 的缓存并继续 连接。如果您想继续连接但不更新 缓存,输入“n”。如果您想放弃连接 完成后按回车键取消。按下回车键是唯一的 保证安全选择。

2。我尝试过的事情 这些选项(Y、n、Return)在 Bash 中都不起作用。然后我使用 PuTTY 生成一个新的公钥/私钥对,当我尝试推送时出现相同的错误消息。我尝试使用

ssh-add
加载密钥,但它一直告诉我密钥格式无效。我认为这是旧密钥的问题。因此,我随后尝试
ssy-keygen -t rsa -b 4096 -C "[email protected]"
从 Git Bash 生成新密钥。我将该密钥添加到了此存储库的 Github 上的远程服务器,当我尝试通过 Git Bash 推送时,它再次失败。与上面相同的错误。

然后我转到可以访问同一本地驱动器的平板电脑。从那里我打开 VSCode,打开带有存储库的本地文件夹,并尝试从 VSCode 推/拉(同步),从不同的终端重复上面的第一步。当然,另一个终端使用不同的 ssh 密钥连接到同一个远程存储库,这次 VSCode 没有挂断,我能够将更改推送到远程。

3.没有代码可显示,但有几个具体问题

  1. 为什么 VSCode 挂起并且不生成类似的错误(警告 - 潜在的安全漏洞!)?这有点时间同步,因为它只是挂起了。我可以继续编码、运行代码等,但版本控制的窗口只是卡住了。
  2. 如何解决我在一台终端上遇到的 ssh 密钥问题?我以前在这个存储库或任何其他存储库中从未发生过这种情况。

我在 Windows 上运行两个终端。

git visual-studio-code ssh putty
1个回答
0
投票

上次连接到 GitHub 时,本地 SSH 客户端会自动注册 GitHub 的密钥。您看到的警报意味着该密钥现已更改。这可能是由于攻击者使用不同的密钥拦截了您的连接。或者可能是因为自上次连接以来 GitHub 更新了他们的密钥。

如果您不关心连接的安全性而只想连接,则可以通过从known_hosts 文件中删除无效条目来解决此问题。为此,请运行命令

ssh-keygen -R github.com

 (
source)。如果这不起作用,最后的办法是完全删除known_hosts 文件。在 Windows 上,此文件位于 %USERPROFILE%\.ssh
)。

© www.soinside.com 2019 - 2024. All rights reserved.