SSH之known_hosts文件

一、什麼是known_hosts文件

A通過ssh首次連接到B,B會將公鑰1(host key)傳遞給A,A將公鑰1存入known_hosts文件中,以後A再連接B時,B依然會傳遞給A一個公鑰2,OpenSSH會覈對公鑰,通過對比公鑰1與公鑰2 是否相同來進行簡單的驗證,如果公鑰不同,OpenSSH會發出警告, 避免你受到DNS Hijack之類的攻擊。。

二、打開known_hosts文件

vi ~/.ssh/known_hosts   或    vi /root/.ssh/known_hosts

host文件內容格式:ip 公鑰

 

三、A通過ssh登陸B時提示 Host key verification failed.

原因:A的known_hosts文件中記錄的B的公鑰1 與 連接時B傳過來的公鑰2不匹配

解決方法:

  • 方法一:刪除A的known_hosts文件中記錄的B的公鑰(手動進行,不適用於自動化部署情形)
  • 方法二:修改配置文件,在ssh登陸時不通過known_hosts文件進行驗證(安全性有所降低),修改完需重啓機器
vi ~/.ssh/config      //編輯配置文件

添加以下兩行代碼:
StrictHostKeyChecking no 
UserKnownHostsFile /dev/null

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章