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

我使用以下格式的命令:

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

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

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

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


当前回答

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

ex:

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

其他回答

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

ex:

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

当远程服务器想要连接到私有回购时,它将通过ssh进行身份验证。 使用ssh-keygen创建公私密钥对(如果您已经拥有公私密钥)。在私有回购的设置中复制并粘贴公钥。

YourPrivateRepo -> Settings ->部署密钥->添加部署密钥->粘贴公钥。

现在远程服务器将能够连接到私有回购。

注意:部署键仅具有读取repo的访问权限。需要显式地允许写访问。

这是因为github目前不在你的已知主机。

应该会提示您将github添加到已知主机。如果没有出现这种情况,您可以运行ssh -T git@github.com再次接收提示。

正如我之前在克隆git回购导致错误-主机密钥验证失败中回答的那样。致命:远端意外挂机,将GitHub添加到已知主机列表:

ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

我在新安装的系统上遇到了同样的问题,但这是一个udev问题。没有/dev/tty节点,所以我必须这样做:

mknod -m 666 /dev/tty c 5 0