我在一台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。
应该比其他解决方案更快:
- 在vscode中打开类型为"的新终端;命令提示符">
- 运行:
git push
并在提示时接受新密钥
这将存储远程密钥以备将来使用。