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攻击

  • 相关阅读:
    异步编程案例分享—后台线程事实通知任务进度
    ORACLE 常见错误
    设计模式——工厂模式
    sql 脚本编写之路 常用语句(一)
    C# 深入浅出 异步(八)
    设计模式——单例模式
    Sql Server 学习链接
    SqlServer 常用函数
    2016 ACM/ICPC Asia Regional Shenyang Online
    2016 ACM/ICPC Asia Regional Dalian Online
  • 原文地址:https://www.cnblogs.com/fonxian/p/11228760.html
Copyright © 2011-2022 走看看