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

相关推荐
-SGlow-2 小时前
MySQL相关概念和易错知识点(3)(表内容的CURD、内置函数)
linux·运维·服务器·数据库·mysql
编程社区管理员3 小时前
Vue项目使用ssh2-sftp-client实现打包自动上传到服务器(完整教程)
运维·服务器·vue
不搞学术柒柒4 小时前
vscode、cursor无密码ssh远程连接服务器(配置密钥)
服务器·ssh·github
cpsvps4 小时前
文件系统完整性校验工具在美服安全审计中的关键作用与实施步骤
服务器·网络·架构
猫头虎4 小时前
新手小白如何快速检测IP 的好坏?
网络·人工智能·网络协议·tcp/ip·开源·github·php
sz66cm5 小时前
Linux基础 -- 内核快速向用户态共享内核变量方案之ctl_table
linux·运维·服务器
努力一点9485 小时前
ubuntu22.04系统入门 linux入门(二) 简单命令 多实践以及相关文件管理命令
linux·运维·服务器·人工智能·gpu算力
MediaTea6 小时前
Python 库手册:getopt Unix 风格参数解析模块
服务器·开发语言·python·unix
利刃大大6 小时前
【在线五子棋对战】十一、整合封装服务器模块实现
运维·服务器·c++·项目·五子棋