通过 WSL 上的 VS Code 将提交推送到 SSH 克隆的存储库会返回"Host key verification failed" - 在 HTTPS 上没问题



我在一台Windows 10机器上,安装了Git Bash和Ubuntu for Windows Subsystem for Linux(WSL(。当我使用GitHub的官方桌面应用程序通过HTTPS克隆repo时,一切都很好,我可以通过Visual Studio Code推送我的提交,不会有任何问题。然后,我尝试通过SSH和Hyper(WSL-Bash(克隆一个repo,并获得以下内容:

The authenticity of host 'domain.com (a.b.c.d)' can't be established.
RSA key fingerprint is XX:XX:...:XX.
Are you sure you want to continue connecting (yes/no)?

在回答"是"并在VS Code中打开该repo并尝试将我的新更改推送到GitHub后,我收到了以下错误:Git:主机密钥验证失败。

这就是我在Git登录输出中得到的:主机密钥验证失败。致命:无法从远程存储库中读取。

我已经使用这个方法在WSL上设置了SSH密钥,但我没有设置任何密码短语。我在我哥哥的电脑上试过这个,它的设置和我的一模一样,效果很好。如果有任何帮助,我将不胜感激!

更新:我在Hyper中键入ssh -T git@github.com,得到的答案是:You've successfully authenticated, but GitHub does not provide shell access.

p.S.我是编程和stackoverflow的新手,所以请简明扼要,循序渐进地给我指示。你用的技术术语越多,我就越可能迷路!

对于新的推送,首先尝试在命令行中执行:

cd c:pathtolocalrepo
git status
git log
git remote -v
git push -u origin master

确保:

  • git status是干净的(没有挂起的更改(
  • git log向您显示至少一次提交
  • git remote -v将远程GitHub存储库的URL显示为原始URL
    (作为SSH URLgit@github.com:<you>/<yourRepo>(

然后按下,返回VSCode。

应该比其他解决方案更快:

  1. 在vscode中打开类型为"的新终端;命令提示符">
  2. 运行:git push并在提示时接受新密钥

这将存储远程密钥以备将来使用。

相关内容

最新更新