博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSH远程登录出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 解决办法
阅读量:2800 次
发布时间:2019-05-13

本文共 1101 字,大约阅读时间需要 3 分钟。

SSH远程登录出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 解决办法

一、问题描述

在部署OpenStack环境的时候,配置的静态IP是192.168.5.1,删除了这台虚拟机.

重新板建一个虚拟机,IP配置也配置为192.168.5.1.

使用真机连接 ssh  192.168.5.1出现如下报错

报错的大概意思是192.168.5.1的ECDSA主机密钥已更改,并且您已请求严格检查,远程主机发送的ECDSA密钥指纹信息是和本机的密钥指纹信息不一致

ssh链接的时候首先会验证公钥,如果公钥不对,那么就会报错,

二、解决办法

我们需要删除真机 ~/.ssh/known_hosts文件的192.168.5.1[需要远程的主机IP] 公钥信息

2.1 known_hosts是记录远程主机的公钥的文件

1. 第一次连接远程主机192.168.4.1,真机会把远程主机的ECDSA公钥信息添加到本机的 ~/.ssh/known_hosts文件中

Warning: Permanently added ‘192.168.4.1’ (ECDSA) to the list of known hosts.

三、扩展知识

3.1 id_rsa             本机生成的私钥文件

3.2 id_rsa.pub      本机生成的公钥文件

3.3  authorized_keys  这个文件存放的是可以免密登录本机的远程主机公钥信息

3.1.1 模型分析

假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机;

为了让两个linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作

要达到的目的: 

A机器ssh登录B机器无需输入密码; 
加密方式选 rsa|dsa均可以,默认dsa 
单向登陆的操作过程(能满足上边的目的): 
1、登录A机器 
2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub 
3、ssh-copy-id B机器IP地址    [本质是将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys] 
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 192.168.4.50 )

.ssh]# ssh B主机IP

你可能感兴趣的文章
linux block层的class diagram
查看>>
qt 陷阱
查看>>
Qt 绑定本机的ip
查看>>
头文件多次包含编译出错
查看>>
docker如何将运行中的容器保存为docker镜像?
查看>>
pytorch:测试GPU是否可用
查看>>
第一行代码--android学习笔记1-----活动的基本用法
查看>>
ffmpeg视频解码器
查看>>
FFmpeg+SDL视频播放器(脱离开发环境)学习笔记
查看>>
Linux内核配置以及Make menuconfig过程分析
查看>>
多线程播放视音频
查看>>
队列操作相关函数
查看>>
mfc函数
查看>>
C语言字符与ASCII码的互转,字符和整型的转换
查看>>
VideoState结构体、VideoPicture结构体
查看>>
Effective Python 读书笔记: 第54条: 考虑用模块级别的代码来配置不同的部署环境
查看>>
Python高级编程 读书笔记: 5、 第3章_生成器
查看>>
Python高级编程 读书笔记: 9、 第5章_元类
查看>>
机试算法讲解: 第8题 叠筐
查看>>
JSON过滤去掉handler
查看>>