以前在 Windows 下远程连接 Linux 服务器一般用的是 PuTTY,现在换到 macOS 了,发现 macOS 系统自带的终端也是具有远程连接功能的,不需要下载其他的 SSH 客户端。
然后我在一台洛杉矶的 VPS 上面装酸酸乳时,出了点问题然后重置系统,第二次连接 SSH 发现了报错:
text 代码:$ ssh root@107.174.218.121
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:HDjXJvu0VYXWF+SKMZjSGn4FQmg/+w6eV9ljJvIXpx0.
Please contact your system administrator.
Add correct host key in /Users/ikxin/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/ikxin/.ssh/known_hosts:46
ECDSA host key for 107.174.218.120 has changed and you have requested strict checking.
Host key verification failed.
大致意思就是主机密钥校验失败,和第一次保存的密钥不一致。这个问题在使用 PuTTY 时并没有遇到过,可能是两者的机制不一样。出现这个问题一般是重置系统导致的,因为重置系统时会重新生成密钥,所以就匹配不上了。
解决问题也很简单,使用的是 ssh-keygen
。
在终端输入:
text 代码:ssh-keygen -R 你要访问的 IP 地址
这样就可以重置这个 IP 的匹配密钥了,而且还会将旧的密钥保存在 known_hosts.old
文件中。