我正在尝试连接到驻留在我的web服务器上的远程Git存储库,并将其克隆到我的机器上。
我使用以下格式的命令:
git clone ssh://username@domain.example/repository.git
这对我的大多数团队成员来说都很有效。通常运行此命令后Git会提示输入用户密码,然后运行克隆。然而,当在我的机器上运行时,我得到以下错误:
主机密钥验证失败。
致命的:无法从远程读取
存储库。
我们没有使用SSH密钥连接到这个存储库,所以我不确定Git为什么要在这台特定的机器上检查SSH密钥。
对Tupy的回答做一个小小的补充,您可能需要添加存储库主机的端口号:
ssh-keyscan -p 8888 -t rsa domain.example >> ~/.ssh/known_hosts
如果您有另一台具有远程访问权限的计算机,您可以通过查看~/.ssh/known_hosts找到端口号:
[user]$ less ~/.ssh/known_hosts
[domain.example]:8888,[000.00.000.000]:8888 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCi...
这意味着您的远程主机密钥被更改(可能是主机密码更改),
您的终端建议以root用户执行该命令
$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]
您必须从pc/服务器的主机列表中删除该主机名。复制建议的命令并作为根用户执行。
$ sudo su // Login as a root user
$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net] // Terminal suggested command execute here
Host [www.website.net]:4231 found: line 16 type ECDSA
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
$ exit // Exist from root user
再试一次,希望这有用。