Security

如何在 SSH 中刪除嚴格的 RSA 密鑰檢查,這裡有什麼問題?

  • January 22, 2018

我有一台 Linux 伺服器,每當我連接它時,它都會向我顯示更改 SSH 主機密鑰的消息:

$ ssh root@host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@警告:遠端主機標識已更改!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ 可能有人在做一些討厭的事情!有人現在可能正在竊聽您(中間人攻擊)!也有可能 RSA 主機密鑰剛剛更改。遠端主機發送的 RSA 密鑰的指紋為 93:a2:1b:1c:5f:3e:68:47:bf:79:56:52:f0:ec:03:6b。請聯繫您的系統管理員。在 /home/emerson/.ssh/known_hosts 中添加正確的主機密鑰以消除此消息。/home/emerson/.ssh/known_hosts:377 中有問題的鍵

host1 的 RSA 主機密鑰已更改,您已請求嚴格檢查。主機密鑰驗證失敗。

它讓我登錄了幾秒鐘,然後關閉了連接。

host1:~/.ssh # 從遠端主機讀取 host1: Connection reset by peer 與 host1 的連接關閉。

有誰知道發生了什麼以及我能做些什麼來解決這個問題?

請不要按照某些人的建議刪除整個 known_hosts 文件,這完全可以消除警告的意義。這是一項安全功能,可警告您可能發生了中間人的攻擊。

我建議您確定為什麼它認為某些事情發生了變化,很可能是由於可能的安全漏洞,SSH 升級更改了加密密鑰。然後,您可以從 known_hosts 文件中清除該特定行:

sed -i 377d ~/.ssh/known_hosts

這將刪除第377行,如警告中冒號後所示:

/home/emerson/.ssh/known_hosts:377

或者,您可以通過執行以下操作刪除相關密鑰

ssh-keygen -R 127.0.0.1 (obviously replace with the server's IP)

在清除特定密鑰之前,請不要清除整個文件並確保這實際上是您要連接的機器。

引用自:https://serverfault.com/questions/6233