zoukankan      html  css  js  c++  java
  • known_hosts有什么用?

    一、问题描述

    当我连接我的服务器的时候,返回信息如下

    二、问题分析

    返回的信息是什么意思?

    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.
    
    也有可能host key刚刚改变了。
    
    The fingerprint for the ECDSA key sent by the remote host is
    SHA256:XXXXX
    
    远程主机发送过来的ECDSA key 指纹是xxxxx
    
    Please contact your system administrator.
    Add correct host key in /Users/fangzhijie/.ssh/known_hosts to get rid of this message.
    
    添加正确的host key到这个文件中来避免这条信息。
    
    Offending ECDSA key in /Users/fangzhijie/.ssh/known_hosts:8
    ECDSA host key for bei1 has changed and you have requested strict checking.
    Host key verification failed.
    
    

    这里的原因是,我把原先的腾讯云服务器重装系统,是属于host key改变的情况。所以根据提示,将正确的host key添加到指定的文件中。

    三、问题解决

    于是找到known_hosts这个文件,将远程主机发来的指纹(下面被红笔覆盖的),

    替换到bei1对应指纹。重新连接,发现问题解决。

    四、问题再分析

    known_hosts这个文件究竟有什么用?里面放的是什么内容?

    ssh会把你每个你访问过计算机的公钥(public key)都记录在known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

    从上面的图中可以看出,known_hosts中的格式是

    Ip或域名  主机名 host-key
    

    还是比较容易理解的,使用known_hosts的作用是防止DNS攻击

  • 相关阅读:
    MySQL Server 5.0安装教程
    c++实现一个小算法
    spring core 与 context理解
    关于eclipse的mysql连接配置
    eclipse中创建一个maven项目
    Oracle中的多表查询(笛卡尔积原理)
    Vue进阶
    计算机网络基础
    java框架之springboot
    bootstrap学习
  • 原文地址:https://www.cnblogs.com/fonxian/p/11228760.html
Copyright © 2011-2022 走看看