SSH连接远程服务器报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法
一.错误描述

报错信息里提示了路径信息/root/.ssh/known_hosts:20
二.解决方案
方法一
输入以下指令:
ssh-keygen -R XXX(需要连接远程服务器的ip)
按照我的例子ip:10.165.7.136,会返回以下信息:

重新尝试连接:

输入yes,按下回车,成功连接。以上就是解决方案,如果想了解为什么这样的,可以继续往下看。
方法二:
直接删除在~/.ssh/konwn_hosts中对应ip的记录,然后重新连接即可
三.原因分析
当两个设备第一次进行链接时,会在~/.ssh/konwn_hosts中将被连接设备的公钥信息进行保存,后续再次链接时OpenSSH会核对公钥来进行一个简单的验证:

konwn_hosts文件的公钥信息如下:

正常连接应该如下:

然而有时候被连接的那台远程服务器系统被重装、IP 冲突等原因,会导致公钥信息没有对得上,所以导致错误:

而解决的方案很简单,就是在把记录在路径 ~/.ssh/konwn_hosts中的公钥信息给删除,重新建立一个新的链接就行,而指令ssh-keygen -R XXX(ip地址)就是执行这个动作,甚至还贴心地将原来地公钥信息进行备份:

当然,你也可以手动删除指定的ip,使用vi/vim打开konwn_hosts文件,你会发现里面的东西我和的一样是密文形式的,这是因为新版的系统里的安全机制,为了防止某个不轨人士进行远程撒毒,明文保存被替换成了通过算法计算的密文形式,当然你可以使用以下指令来查询到某个ip的密文是多少:
ssh-keyscan XXX(IP地址)
以我的ip为例子,可以看到输出了三个不同算法算出来的密文信息:

我们在konwn_hosts文件中找到这个几个密文信息,将其删除,保存,重新链接即可。当然如果你觉得电脑就一个人用没必要加密,也可以将加密给关闭,使用vi/vim来编辑路径 /etc/ssh/ssh_config 中的字段:

将该字段修改为 no,保存退出,删除公钥信息重新链接一次,你会发现新保存的公钥就是明文的信息。
相关文章:
SSH连接远程服务器报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法
一.错误描述 报错信息里提示了路径信息/root/.ssh/known_hosts:20 二.解决方案 方法一 输入以下指令: ssh-keygen -R XXX(需要连接远程服务器的ip) 按照我的例子ip:10.165.7.136,会返回以下信息: 重新尝试连接: 输…...
数据库——查询连续的月份
一、GP或PGSQL with recursive t(n) as (select date(2023-01-01) union all select n1 from t where n < now()) select to_char(n, yyyy-mm) as ny from t group by ny order by ny 二、Hive select add_months(FROM_UNIXTIME(unix_timestamp(SUBSTR(start_date, 1, 7…...
git代码提交命令(如何提交代码)
# 提交暂存区到仓库区 $ git commit -m [message]# 提交暂存区的指定文件到仓库区 $ git commit [file1] [file2] ... -m [message]# 提交工作区自上次commit之后的变化,直接到仓库区 $ git commit -a# 提交时显示所有diff信息 $ git commit -v# 使用一次新的commit…...
jmeter中调用python代码
1、安装pyinstaller pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller 2、将py脚本打包 pyinstaller -F venv/get_image/OCR_jmeter_api.py 3、jmeter中添加OS Process Sampler并调用dist下的程序 4、执行jmeter...
当当网获得dangdang商品详情商品列表API 测试请求入口
item_get-获得dangdang商品详情 获取商品详情 item_search-按关键字搜索dangdang商品 获取商品列表 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请…...
git如何查看配置,修改配置,设置配置
# 显示当前的Git配置 $ git config --list# 编辑Git配置文件 $ git config -e [--global]# 设置提交代码时的用户信息 $ git config [--global] user.name "[name]" $ git config [--global] user.email "[email address]"...
交通流合成数据生成原理及实现代码
移动数据是设备的地理位置,通过正常活动被动产生。 它具有从交通规划到迁移预测的重要应用。 由于移动数据稀有且难以收集,研究人员已开始探索综合生成移动数据的解决方案。 在本文中,我将讨论一种用于合成移动数据的简单解决方案。 该合成数…...
leetcode 240. 搜索二维矩阵 II
2023.11.22 本题最先想到的是暴力法和二分法,暴力法就不写了,写一下二分法的解法,java代码如下: class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int[] row : matrix){int left 0;int right r…...
a标签超链接 —— 实现点击前中后变色
浅浅记录下 <style type"text/css"> a:link {color: yellow; /*未访问链接颜色*/ }a:visited {color: red; /*已访问链接颜色*/ }a:hover {color: blue; /*鼠标移动到链接颜色*/text-decoration: underline; }a:active {color: orange; /*鼠标点击时颜色*/ }a…...
【好玩的开源项目】Linux系统之部署proxx扫清黑洞小游戏
【好玩的开源项目】Linux系统之部署proxx扫清黑洞小游戏 一、proxx小游戏介绍1.1 proxx小游戏简介1.2 开源地址 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本 四、部署Node.js环境4.1 下载Node.js安装包4.…...
IDEA-SVN合并分支到主干
IDEA-SVN合并branch分支到主干master 1.选择VCS的 Integrate Project 2.选择分支合并 Source1 是合并后的分支 , 主分支 master Source2 是被合并的分支 , 分支 branch Try merge 可以尝试是否可以能够被合并,并且无冲突 3.合并完成后当前项目会出现需要提交的内容,检查一…...
kettle如何写日志
var subject"自定义日志输出"; //实例化工厂类 var logFactory new org.pentaho.di.core.logging.LogChannelFactory(); //实例化日志channel对象 var log logFactory.create(subject); //日志输出 log.logMinimal("XXXXXXXXXXXXXXXXXXXXXXXX-preRows"acc…...
新能源车将突破2000万辆,汉威科技为电池安全保驾护航
近年来,我国新能源汽车销量持续突破新高。据中汽协数据,1~10月,国内新能源汽车销量达728万辆,同比增长37.8%,市场占有率达到30.4%。随着第四季度车市传统旺季的到来,新能源消费需求将进一步释放,…...
基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据
本文尝试基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据。 一、用文心一言AI大模型将需求转化为样例代码 1、第一次对话:“python3写一段从rest服务器获取数据的样例代码” 同时生成了以下注解 这段代码首先定义…...
2022-4-11 南科大现代控制与最优估计
CLEAR_LAB B站视频 矩阵的分块矩阵操作 diagonal 对角阵 identity matrix 单位矩阵 矩阵克罗内克积...
【注册Huggingface】获取token
Hugging Face是一家美国公司,专门开发用于构建机器学习应用的工具。该公司的代表产品是其为自然语言处理应用构建的transformers库,以及允许用户共享机器学习模型和数据集的平台。 Huggingface 是一个开源的cv、nlp框架,提供了超过100,000个…...
【蓝桥杯软件赛 零基础备赛20周】第4周——简单模拟1
文章目录 什么是简单模拟简单模拟和编程能力刷题 什么是简单模拟 正在学编程语言(C/C、Python、Java),或者刚学过语言,还没有开始学数据结构和算法的同学,有一些疑问:如何快速入门算法竞赛?如何…...
使用OpenCV将图像转换为NV12格式并加载NV12数据
摘要:在新项目中,需要为上层应用开放几个接口,但又不想让上层应用过多依赖OpenCV。本文将详细介绍如何使用C和OpenCV,通过加载图片并转换为NV12格式,实现对图像数据的处理,以及如何加载NV12数据并显示。这些…...
【Lodash】 Filter 与Map 的结合使用
用Filter过滤数据之后,想给某个字段重新赋值 在使用 filter() 方法过滤数据后,如果你想给某个字段赋值,你可以使用 map() 方法来修改数组中的元素。map() 方法可以对数组中的每个元素应用一个函数,并返回一个新的数组。 以下是一…...
python命令行 引导用户填写可用的ip地址和端口号
字多不看,直接体验 待补充 演示代码 # -*- coding:UTF-8 -*- """ author: dyy contact: douyaoyuan126.com time: 2023/11/23 10:29 file: 引导用户填写可用的ip地址和端口号.py desc: xxxxxx """# region 引入必要的依赖 import …...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...
