我是 Google Cloud 的新用户。今天我意识到我无法连接任何服务器,并出现以下错误消息:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:******.
Please contact your system administrator.
Add correct host key in /home/roberto/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/roberto/.ssh/known_hosts:9
remove with:
ssh-keygen -f "/home/roberto/.ssh/known_hosts" -R 10.10.10.10
ECDSA host key for 10.10.10.10 has changed and you have requested strict checking.
Host key verification failed.
Google 会自动更新/更改其服务器的 ssh 密钥吗?
答案1
是的,实际上,Google 在某些情况下确实会更改您的主机密钥。
例如,如果启用了主机维护迁移,hostkey 将在主机维护迁移期间更改。
如果需要进行任何需要重新创建实例的更改,则密钥将更改:就像设定范围,添加服务帐户,甚至是可爱的设置描述在实例上将强制替换虚拟机并且主机密钥将会改变。
答案2
每次您使用 Google Cloud Console 通过 SSH 连接到 GCE VM 时,都会生成一个新的 SSH 密钥,该密钥将在几分钟后过期。但是,您收到的警告消息可能是由于其他原因造成的。
查看这个帖子对于类似的问题。
运行ssh-keygen -f "/home/roberto/.ssh/known_hosts" -R 10.10.10.10
命令应该可以解决您的问题。
答案3
删除本地机器上捕获的密钥:
ssh-keygen -R 10.10.10.10
它可能不起作用,因此第二步您可以按照此处错误的指示进行操作:
Add correct host key in /home/roberto/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/roberto/.ssh/known_hosts:9
remove with:
ssh-keygen -f "/home/roberto/.ssh/known_hosts" -R 10.10.10.10
检查主机是否不在/home/roberto/.ssh/known_hosts
,如果仍然存在,请手动从列表中删除主机。
如果以上方法都不起作用,那么您应该知道以下内容:Google 不会自动更改您的服务器密钥。您可以运行-vvv
并发布输出。