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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM