我正在尝试连接到驻留在我的web服务器上的远程Git存储库,并将其克隆到我的机器上。

我使用以下格式的命令:

git clone ssh://username@domain.example/repository.git

这对我的大多数团队成员来说都很有效。通常运行此命令后Git会提示输入用户密码,然后运行克隆。然而,当在我的机器上运行时,我得到以下错误:

主机密钥验证失败。 致命的:无法从远程读取 存储库。

我们没有使用SSH密钥连接到这个存储库,所以我不确定Git为什么要在这台特定的机器上检查SSH密钥。


当前回答

当终端显示:

您确定要继续连接(是/否)?

不要我重复一遍不要直接按Enter键。

你必须先在终端输入yes,然后按Enter。

其他回答

你可以使用https而不是ssh来克隆git或git pull或git push

ex:

git clone https://github.com/user/repo.git

如果你正在使用git for Windows。

打开git GUI。 在git GUI中打开本地git存储库。 添加远程或推送(如果远程已经存在)。 对于你是否想继续的问题,回答“是”。

GUI客户端为您将密钥添加到~/.ssh/known_hosts。如果你不经常这样做,这更容易记住,也避免了使用git命令行(标准的Windows命令行没有ssh-keyscan可执行文件)。

推送到Git返回错误码403致命:HTTP请求失败

检查是否有账单问题。 谷歌云停止向https://source.cloud.google.com/上传文件

我得到这个问题消失后付款问题被修复。 但没有改变钥匙。

谢谢

在构建期间,我在DockerFile内部也遇到了同样的错误,而映像是公共的。我在Dockerfile中做了一些修改。

 RUN git clone  https://github.com/kacole2/express-node-mongo-skeleton.git /www/nodejs

这是因为使用git@github.com:…语法最终使用SSH克隆为>,并且在容器中,您的私钥不可用>。你应该使用RUN git克隆> https://github.com/edenhill/librdkafka.git。

对我来说,我只需要在提示“您确定要继续连接(是/否)吗?”时输入“是”,而不是直接按Enter。