我给 ssh 服务器重装了系统后导致所有与原系统建立过 ssh 连接的系统都无法再建立连接,因为在于原系统建立首次连接时,双方相互记录了对方的公钥(ssh基于非对称密钥技术),在 ssh 服务主机重装系统后,公钥改变了,任以旧版本公钥的主机自然是无法与新系统连接的。

解决方案:

删除 ~/.ssh/known_hosts 文件,或者如果你可以判断出 known_hosts 中原 ssh 服务器的公钥,删去那部分,

然后后再次建立新的连接,即可获得新的公钥。

rm ~/.ssh/known_hosts
# 删除 known_hosts 文件,重新连接就好了…

关于删除 known_hosts 后 git 提示 Host key verification failed.

这个问题到命令窗口 git pull 一下,它会提示你重新生成 key 的

The authenticity of host 'code (192.168.0.0)' can't be established.
ECDSA key fingerprint is SHA256:*****************.
Are you sure you want to continue connecting (yes/no)?

# 输入 yes 回车就好了