相同IP和端口的服务器ssh连接时出现异常

起因

把服务器上的一个虚拟机搞坏了,所以删除重新创建了一个,端口号和IP与之前的虚拟机相同。

ssh username@IP -p port 时报错

bash 复制代码
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 XXXXX key sent by the remote host is
XXXXX.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:13
  remove with:
  ssh-keygen -f "/root/.ssh/known_hosts" -R "[IP]:port"
Host key for [IP]:port has changed and you have requested strict checking.
Host key verification failed.
lost connection

原因

开始看到这个错误以为是公钥私钥不对应,但我并没有生成过公私钥,感到很奇怪。之后才弄明白:因为之前连接过相同IP和端口的虚拟机,所以电脑会把连接过的虚拟机的公钥保存到C:\Users\user_name\.ssh\known_hosts中,在ssh连接的时候会验证里面存储的公钥和目标虚拟器的公钥是否一致,不一致就会报上面的错。

解决

windows上把"C:\Users\user_name\.ssh\known_hosts"里有关旧的虚拟机的信息删除即可

linux可以使用以下命令ssh-keygen -f "/root/.ssh/known_hosts" -R "[IP]:port",如果执行这个命令卡住了,如下图:

说明有进程在在占用这个文件,把vs_code等的编辑器关掉,在终端执行上述命令即可

相关推荐
似水এ᭄往昔1 分钟前
【Linux】--文件系统之软硬链接
linux·运维·服务器
灰子学技术6 分钟前
Envoy TCP 层面的 Metric 指标分析
开发语言·网络·网络协议·tcp/ip·php
乌萨奇也要立志学C++14 分钟前
【Linux】Socket编程UDP Echo 服务器→翻译服务器→多人聊天室
linux·服务器·udp
yyuuuzz23 分钟前
国际云服务器的技术特性与使用场景
运维·服务器
代码中介商25 分钟前
Linux多线程编程进阶:fork与锁的交互及网络编程入门
linux·运维·服务器
Johnstons29 分钟前
TCP Reset(RST)异常是什么?一文讲透连接被动中断的识别方法、适用场景、与超时断开的边界及排查清单
网络协议·tcp/ip·php·es·抓包分析
我不是立达刘宁宇33 分钟前
权限提升-前置基础-linux
linux·运维·服务器
IOT.FIVE.NO.135 分钟前
claude code desktop cowork报错解决和记录Workspace..The isolated Linux environment ...
linux·服务器·数据库
TOWE technology39 分钟前
EN32/G2401FCI——32A大功率,24位国标输出的高密度配电方案
linux·服务器·网络·科技·数据中心·pdu·智能pdu
青梅橘子皮9 小时前
Linux---基本指令
linux·运维·服务器