当前位置: 首页 > news >正文

什么是中间人攻击? ssh 连接出现 Host key verification failed 解决方法

文章目录

  • 前言
  • `known_hosts` 文件是什么
    • 文件路径
    • 示例
  • 连接出现 `Host key verification failed`
    • `ssh-keygen -R [hostname or ip address]`
    • 删除整个 `known_hosts` 文件
  • 其它
  • 聊聊中间人攻击
    • `ssh` 如何保证安全?
    • 加密流程
    • 漏洞在哪里
    • 如何避免中间人攻击
  • 个人简介

前言

  • 最近服务器到期,将自己的服务迁移到了一台更优惠的服务器,使用 ssh 连接出现 Host key verification failed,下面来看看如何解决这个问题以及聊聊问题中涉及的中间人攻击。

known_hosts 文件是什么

  • known_hosts 文件是SSH客户端用来存储已知主机的公钥信息的文件。每次您连接到一个SSH服务器时,该服务器的公钥将被存储在这个文件中。当您以后再次连接到相同的服务器时,SSH客户端将检查 known_hosts 文件以确保服务器的公钥没有被篡改,以防止中间人攻击。

文件路径

  • known_hosts 文件通常位于用户的家目录下的 .ssh 文件夹中。

示例

  • hostname_or_ip algorithm public_key
hostname_or_ip 是主机的域名或IP地址
algorithm 是使用的加密算法
public_key 服务端公钥example.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC98vOeovBJsWaw....当连接到新主机时,SSH客户端会询问您是否接受新的主机密钥。此时新主机将被添加到known_hosts文件中。

连接出现 Host key verification failed

  • 当连接出现 Host key verification failed 时,说明我们的连接信息出现了变更,无法和 known_hosts 文件中的数据进行匹配 ,我们有以下两种方式进行修正,前提是你知道你的连接操作是安全的。

ssh-keygen -R [hostname or ip address]

  • 命令会从 known_hosts 文件中删除指定主机的记录。下次连接时会重新生成记录。

删除整个 known_hosts 文件

  • rm -rf known_hosts,操作会删除所有已连接过的主机记录,下次连接需要重新添加。(一般不推荐)

其它

  • 基于 ssh 的其它传输方式出现上述问题解决方式和上文一致,比如 sftp 等。

聊聊中间人攻击

ssh 如何保证安全?

  • 我们知道 ssh 之所以能保证安全是使用公钥加密,不会将密码明文传输。

加密流程

  • 当用户登录远程服务器时,服务端收到用户登录请求会将公钥发给用户
  • 用户收到公钥后将登录密码使用公钥加密,发送给服务端
  • 服务端收到后使用私钥进行解密,若密码正确则登录成功

漏洞在哪里

  • 上述的过程看似很美好,但是服务端的公钥并没有类似 HTTPS 的 CA 中心,也就是说当你收到公钥时,公钥是否可信需要你自己进行判断。
  • 比如此时你登录的服务是是一台伪造的服务器,发给你了一个假的公钥,那么你的账号密码就会泄露。

如何避免中间人攻击

  • 1、将公钥指纹公布在服务器展示栏,让用户进行核对(这时候即使发生中间人攻击,但使用的是正确的公钥,伪造的服务器也无法解密拿到密码)
  • 2、上述的 known_hosts 方案其实也是为了避免中间人攻击,第一次核对连接成功后将可信服务端加入 known_hosts 列表,后续连接都会进行校验服务端是否改变,如果改变则需要重新信任。

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

相关文章:

什么是中间人攻击? ssh 连接出现 Host key verification failed 解决方法

文章目录 前言known_hosts 文件是什么文件路径示例 连接出现 Host key verification failedssh-keygen -R [hostname or ip address]删除整个 known_hosts 文件 其它聊聊中间人攻击ssh 如何保证安全?加密流程漏洞在哪里如何避免中间人攻击 个人简介 前言 最近服务器…...

数据结构系统刷题

本文为系统刷leetcode的记录,会记录自己根据代码随想录刷过的leetcode,方便直接点开刷题,时常更新 时间复杂度简记为s 空间复杂度简记为k 数组 704 二分查找 一维二分查找 (1)[left, right] class Solution { publi…...

【RabbitMQ】延迟队列之死信交换机

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《RabbitMQ实战》。🎯🎯 &am…...

2024交通运输工程与土木建筑工程国际会议(ICTECCE2024)

2024交通运输工程与土木建筑工程国际会议(ICTECCE2024) 会议简介 2024年国际交通工程和土木建筑工程会议(ICTECCE 2024)将在中国杭州举行。ICTECCE 2024致力于为交通工程和土木工程材料领域的学者、工程师和研究人员提供一个大型学术交流平台和双向交流…...

搜索引擎Elasticsearch了解

1.Lucene 是什么? 2.模块介绍 Lucene是什么: 一种高性能,可伸缩的信息搜索(IR)库 在2000年开源,最初由鼎鼎大名的Doug Cutting开发 是基于Java实现的高性能的开源项目 Lucene采用了基于倒排表的设计原理,可以非常高效地实现文本查找,在底层采用了分段的存储模式,使它在读…...

【操作系统基础】【CPU访存原理】:寄存 缓存 内存 外存、内存空间分区、虚拟地址转换、虚拟地址的映射

存储器怎么存储数据、内存空间分区、虚拟地址转换 计算机的存储器:寄存 缓存 内存 外存(按功能划分) 计算机的处理器需要一个存储器来存储大量的指令和数据以便自己不断取指执行和访问数据。 内存(内存就是运行内存&#xff0c…...

windows下git pull超时,ping不通github

报错 ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 解决办法 修改hosts 最后加一行,文件位置:…...

springboot快速写接口

1. 建proj形式 name会变成文件夹的名字,相当于你的项目名称 基础包 2. 基础依赖 3. 配置数据库 这里要打开mysql,并且创建数据库 方法: 安装好数据库,改好账号密码用navicat来建表和账号配置properties.yml文件即可 4.用res…...

数据结构排序算详解(动态图+代码描述)

目录 1、直接插入排序(升序) 2、希尔排序(升序) 3、选择排序(升序) 方式一(一个指针) 方式二(两个指针) 4、堆排序(升序) 5、冒…...

2024-01-25 力扣高频SQL50题目1174. 即时食物配送

题目如下: 配送表: Delivery -------------------------------------- | Column Name | Type | -------------------------------------- | delivery_id | int | | customer_id | int | | order_date…...

java web 校园健康管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web校园健康管理系统是一套完善的java web信息管理系统 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysq…...

回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SSA-SVR麻雀算法优化支持向量机的数据…...

Java转成m3u8,hls格式

Java转成m3u8,hls格式 需求分析 大致思路 循环文件夹下面所有文件判断当前文件是否是视频文件,如果是视频文件先转为ts文件 因为听别人说先转成ts之后再切片会快很多 转成ts文件,并为这些文件单独生成一个目录,如果目录不存在则新建一个目…...

jmeter之接口测试实现参数化(利用函数助手),参数值为1-9(自增的数字)

1.前言 思考:为什么不用postman,用postman的话就得导入csv文件/json文件 如果不想导入文件,postman是实现不了,因为postman每次只会运行一次 2.jmeter函数助手实现参数化 (1)新建“线程组”--新建“http…...

如何在 Ubuntu 22.04 上安装 Apache Web 服务器

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 如何在 Ubuntu 22.04 上安装 Apache Web 服务器 介绍 Apache HTTP 服务器是世界上使用最广泛的 Web 服务器。它…...

【python爬虫】爬虫编程技术的解密与实战

​🌈个人主页:Sarapines Programmer🔥 系列专栏: 爬虫】网络爬虫探秘⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 🌼实验目的 &#x1f…...

VisualSVN Server下载安装和使用方法、服务器搭建、使用TortoiseSvn将项目上传到云端服务器、各种错误解决方法

VisualSVN Server下载安装和使用方法、服务器搭建、使用TortoiseSvn将项目上传到云端服务器、各种错误解决方法 0.写在前面00.电脑配置01.思路 1.VisualSVN Server下载安装01.下载02.安装03.电脑命名不能有中文04.制作VisualSVN Server快捷方式05.License limits exceeded, Som…...

Python模块与包:扩展功能、提高效率的利器

文章目录 一、引言1.1 模块与包对于Python开发的重要性1.2 Python作为拥有丰富生态系统的编程语言 二、为什么学习模块与包2.1 复用代码:利用现有模块与包加速开发过程2.2 扩展功能:通过模块与包提供的功能增强应用的能力 三、模块的使用3.1 导入模块&am…...

【每日一题】4.LeetCode——杨辉三角

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点&…...

蓝桥杯(Python)每日练Day5

题目 OJ1229 题目分析 题目完全符合栈的特征,后进先出。如果能够熟练使用列表的9种方法那么这道题很容易解出。 题解 a[]#存衣服 nint(input()) for i in range(n):llist(input().split())#判断每一步的操作if len(l[0])2:a.append(l[1])else:while a.pop()!l…...

基于Python与aiogram构建多模型AI助手:集成GPT-4、Claude与Gemini的Telegram机器人开发实践

1. 项目概述:一个多模型AI助手的自研之路 最近在折腾一个挺有意思的玩意儿,我把它叫做“AIAssistantBot”。简单来说,这是一个跑在Telegram上的机器人,但它不是那种只会回复固定指令的“傻”机器人。它的核心是整合了市面上几家主…...

企业内如何安全地通过Taotoken管理各部门的AI模型使用权限

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业内如何安全地通过Taotoken管理各部门的AI模型使用权限 对于中大型企业而言,引入大模型能力是提升效率的关键一步&a…...

怎么降维普AI率到30%以下?本科合格区间实战完整路径方案!

怎么降维普AI率到30%以下?本科合格区间实战完整路径方案! 本科生维普 AI 率合格线 30%,比硕博严标准 15% 宽松一倍。但如果你的论文 AI 率 60% 重灾区,降到 30% 以下还是需要工具。你的真实情况是什么? 本科 4-5 万字论…...

实战部署Funannotate基因组注释工具:3种高效配置方案指南

实战部署Funannotate基因组注释工具:3种高效配置方案指南 【免费下载链接】funannotate Eukaryotic Genome Annotation Pipeline 项目地址: https://gitcode.com/gh_mirrors/fu/funannotate Funannotate是一款专业的真核生物基因组注释工具,特别针…...

从找石油到防灾害:地震勘探技术如何跨界守护城市安全?

地震勘探技术的跨界革命:从油气勘探到城市安全守护者 上世纪20年代,当第一批地球物理学家尝试用炸药激发地震波来寻找石油时,他们或许不会想到,这项技术会在百年后成为保护现代城市安全的"透视眼"。传统的地震勘探技术…...

企业安全运维:轻量级OpenClaw检测脚本的设计、部署与MDM集成实战

1. 项目概述:为什么我们需要一个轻量级的OpenClaw检测脚本?在当今的企业IT环境中,开发工具和AI辅助编程代理的普及带来了前所未有的效率提升,但同时也引入了新的安全与合规盲区。想象一下,一个未经批准的开发工具&…...

别只把Docker当虚拟机!《Docker实践》没细说的5个生产环境‘骚操作’

别只把Docker当虚拟机!5个生产环境高阶实践指南 当团队从开发测试转向生产环境时,Docker的使用方式往往需要质的飞跃。许多工程师在初期将容器简单视为轻量级虚拟机,却忽略了容器化架构真正的威力。本文将揭示那些官方文档鲜少提及&#xff0…...

FPGA生成SPWM的另一种思路:抛弃ROM,用DDS IP核与CORDIC算法实时生成正弦波

FPGA实时生成SPWM:基于DDS IP核与CORDIC算法的高效实现方案 在电力电子和电机控制领域,SPWM(正弦脉宽调制)技术因其优异的谐波特性和高效率而广受青睐。传统FPGA实现方案通常采用预存波形数据的ROM方法,虽然实现简单&a…...

容器化技术从入门到精通:Docker与Kubernetes实战指南

1. 项目概述:从零到一构建容器化认知体系最近在技术社区里,经常看到有朋友在讨论“stephrobert/containers-training”这个项目。乍一看,这像是一个关于容器技术的培训或学习资料库。作为一个在云原生和容器化领域摸爬滚打了多年的从业者&…...

3步搞定无损音乐自由:网易云音乐歌单批量下载终极指南

3步搞定无损音乐自由:网易云音乐歌单批量下载终极指南 【免费下载链接】NeteaseCloudMusicFlac 根据网易云音乐的歌单, 下载flac无损音乐到本地.。 项目地址: https://gitcode.com/gh_mirrors/nete/NeteaseCloudMusicFlac 你是否曾经想过,只需一个…...