git-biz服務器遷移引發的ssh訪問服務器失敗問題解決(http正常)

在平時工作中,有時候需要SSH登陸到別的Linux主機上去,但有時候SSH登陸會被禁止,並彈出如下類似提示:

比較奇怪,於是研究了一下。 ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。當下次訪問相同計算機時,OpenSSH會覈對公鑰。如果公鑰不同,OpenSSH會發出警告, 避免你受到DNS Hijack之類的攻擊。我在上面列出的情況,就是這種情況。

原因:一臺主機上有多個Linux系統,會經常切換,那麼這些系統使用同一ip,登錄過一次後就會把ssh信息記錄在本地的~/.ssh/known_hsots文件中,切換該系統後再用ssh訪問這臺主機就會出現衝突警告,需要手動刪除修改known_hsots裏面的內容。

有以下兩個解決方案:
1. 手動刪除修改known_hsots裏面的內容;注意:“are you sure”的那裏輸入 yes全稱
2. 修改配置文件“~/.ssh/config”,加上這兩行,重啓服務器。
   StrictHostKeyChecking no
   UserKnownHostsFile /dev/null

優缺點:
1. 需要每次手動刪除文件內容,一些自動化腳本的無法運行(在SSH登陸時失敗),但是安全性高;
2. SSH登陸時會忽略known_hsots的訪問,但是安全性低;

 

 

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