您正在通过 SSH 协议进行连接,如ssh://
克隆 URL 上的前缀所示。使用 SSH,每个主机都有一个密钥。客户端记住与特定地址相关联的主机密钥,如果主机密钥出现变化,则拒绝连接。这可以防止中间人攻击。
domain.com 的主机密钥已更改。如果这对您来说并不可疑,请${HOME}/.ssh/known_hosts
通过编辑以删除 domain.com 的行或让 SSH 实用程序为您执行此操作,从而从本地缓存中删除旧密钥。
ssh-keygen -R domain.com
从这里,您可以自己记录更新的密钥
ssh-keyscan -t rsa domain.com >> ~/.ssh/known_hosts
或者,等价地,ssh
下次您连接git fetch
, git pull
, 或git push
(甚至是普通的 ol' ssh domain.com
)时,请在提示时回答“是”,为您执行此操作
无法确定主机“domain.com (abcd)”的真实性。
RSA 密钥指纹为 XX:XX:...:XX。
您确定要继续连接(是/否)?
known_hosts
出现这个提示的原因是domain.com在你删除后已经不在了,估计系统的也没有了/etc/ssh/ssh_known_hosts
,所以ssh
无法知道连接另一端的主机是否真的是domain.com。(如果 中的键不正确/etc
,则具有管理权限的人将不得不更新系统范围的文件。)
我强烈建议您考虑让用户也使用密钥进行身份验证。这样,ssh-agent
可以方便地存储密钥材料(而不是每个人都必须为每次连接服务器输入密码),并且密码不会通过网络传输。