SSH连接远程服务器,本地known_hosts文件记录了什么

简介: 今天工作时,使用ssh命令远程连接公司的本地服务器时,突然出现以下错误

今天工作时,使用ssh命令远程连接公司的本地服务器时,突然出现以下错误

bash-3.2$ ssh argus@192.168.200.8 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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:piV54ayBCWv3VIlEVdFSjY2LHJlut5hNTWZi7X0u06A.
Please contact your system administrator.
Add correct host key in /Users/fantingsheng/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/fantingsheng/.ssh/known_hosts:143 ECDSA host key for 192.168.200.8 has changed and you have requested strict checking.
Host key verification failed.

一开始怀疑是服务器IP换了,于是问同事,同事检查了下服务器的IP还是 192.168.200.8,并没有变;另外用户名密码也没有错。


这就奇怪了???

根据错误信息WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!去搜才找到解决办法


首先进入known_hosts文件,编辑

vi ~/.ssh/known_hosts


找到以上IP的这行,删除后,保存

192.168.200.8 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAqhdyk1HyQKn9nB+Pfh+Hf07vbRaD01E8SqTT57AAjm95KKXkfB3rjvAlSH5eTT160WmwNVcS7SSrJWYFX27YI=


也可以使用如下命令删除

ssh-keygen -R "192.168.200.8


然后重新执行ssh命令

bash-3.2$ ssh argus@192.168.200.8
The authenticity of host '192.168.200.8 (192.168.200.8)' can't be established. ECDSA key fingerprint is SHA256:piV54ayBCWv3VIlEVdFSjY2LHJlut5hNTWZi7X0u06A. Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入 yes, 回车,输入密码成功登陆


虽然问题解决了,但还是懵逼状态,为什么IP和用户名,密码都没有变了,就不行了。后来追问同事才知道,他前几天给服务器重装了系统。

问题应该出在这


于是怀疑重装系统导致IP后面这一串字符发生了变化,不能识别到原来的主机了

有了线索,继续往下追


known_hosts文件用于验证远程登陆系统的身份。ssh可以自动将密钥添加到用户文件,也可以手动添加。该文件包含用户已连接过所有主机的公共密钥列表。一般,初次登陆,ssh会自动将远程主机的公钥添加到用户的known_hosts文件。

格式有两种,取决于你的~/.ssh/config文件中的HashKnownHosts No设置,有可能是一段哈希字符串,格式如下:

KnbIIJIPrL/1p7ofUV74sK+j/Gc=|wrjOFnPgoF0afgH0PeRtRqSdgvc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==


这些文件中的每一行都包含以下字段:标记 (可选),主机名,位,指数,模数,注释。字段直接用空格隔开。


或者主机名可以以哈希加密形式存储,这样可以隐藏主机名称和IP地址对外暴露。 哈希过的主机名以” |”字符开头。每一单行上只能允许一个哈希主机名出现,并且上述否定或通配符操作都不适用。


另外一种格式是上面以IP开头的那种格式,包含主机名(可选,取决于是否设置别名),主机IP,随机产生的加密盐,采用SHA-1加密的IP信息及该主机的公钥,字段直接以空格分开。




目录
相关文章
|
1天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
12天前
|
程序员 网络安全 开发工具
读书|通过 SSH & SFTP 管理 Kindle 上的文件
这是这个系列的第三篇文章,介绍我如何通过 SSH & SFTP 管理 Kindle 上的文件。
23 3
|
23天前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
199 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
24天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
196 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
19天前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
|
21天前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
22天前
|
弹性计算 安全 Windows
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
|
21天前
|
弹性计算 网络安全
阿里云国际OpenAPI多接口快速管理ECS服务器教程
阿里云国际OpenAPI多接口快速管理ECS服务器教程
|
4天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
37 9
|
4天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
34 2