相同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等的编辑器关掉,在终端执行上述命令即可

相关推荐
艾莉丝努力练剑2 分钟前
【Linux网络】Linux 网络编程:传输层TCP(二)
linux·运维·服务器·网络·tcp/ip·计算机网络
都在酒里1 小时前
Linux字符设备驱动开发(十):综合实例——I2C传感器 + LED智能控制与进阶指南
linux·运维·服务器·驱动开发·交互
wanhengidc8 小时前
服务器租用有何优点
运维·服务器·安全·web安全
坤昱9 小时前
cfs调度类深入解刨——最新内核细节分析2
linux·服务器·cfs·cfs调度·eevdf调度·eevdf·kernel 7.1
艾莉丝努力练剑9 小时前
【Linux:文件】Ext系列文件系统进阶
linux·运维·服务器·c++·文件系统·文件io·ext
海市公约9 小时前
Linux核心基础命令与权限管理实战指南
linux·运维·服务器·vim·权限管理·系统监控·命令行
mixboot10 小时前
Linux 进程工作目录查看利器:pwdx 命令详解
linux·运维·服务器
之歆12 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化
云登指纹浏览器13 小时前
静态IP和动态IP哪个好:跨境电商代理选型指南
网络·网络协议·tcp/ip
zhz521413 小时前
服务器等保加固实施报告
运维·服务器·信创·国密·等保