
當我嘗試從我們的工作 github 伺服器克隆專案時,我看到此錯誤。今天早些時候這沒有問題,但今天下午突然開始出現這種情況。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
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.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:<fingerprint>.
Please contact your system administrator.
Add correct host key in /Users/<myname>/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/<myname>/.ssh/known_hosts:1
ECDSA host key for github.companysite.com has changed and you have requested strict checking.
我什至嘗試生成一個新的密鑰對,但這並沒有解決問題。問題是,我無法知道我們的 github 實例的伺服器是否發生了變化,這是一個合法的新指紋還是攻擊。我確實可以存取我們公司的 github 網路版。有沒有某種方法可以透過網頁檢查伺服器的指紋,並在將其複製到受信任的主機檔案之前與我收到的指紋進行比較?
編輯澄清:這是我公司的私人 github 實例,而不是公共 github。
答案1
我什至嘗試生成一個新的密鑰對,但這並沒有解決問題。
該訊息不是在談論您的密鑰對。它正在談論的是伺服器的密鑰對。 (伺服器的密鑰對更改實際上就是原因訊息,它不可能解決它。
有沒有某種方法可以透過網頁檢查伺服器的指紋,並在將其複製到受信任的主機檔案之前與我收到的指紋進行比較?
我找不到任何文件表明 GitHub Enterprise 有這樣的網頁。然而我確實發現官方文檔表明它沒有2016年(2.3.x–2.7.x)有這樣一個網頁,根據這句話:
“我們強烈建議將 GitHub Enterprise 設備的 SSH 主機金鑰指紋發佈到所有最終用戶都可以訪問的位置。”這意味著創建這樣的網頁完全是系統管理員的責任。
由於 GitHub.com 仍然沒有整合的 SSH 指紋清單(只有「幫助」部分中的手動更新文章),我也不期望 GitHub Enterprise 在這方面有所改進。
因此,如果您的系統管理員沒有建立這樣的網頁,也沒有宣布主機金鑰更改,那麼您就沒有太多選擇了:
您可以嘗試透過嘗試幾種不同的路徑並比較指紋(如果只有一條路徑上存在MITM)來嘗試排除基於網路的MITM 攻擊- 例如,假設伺服器是全域可存取的,首先直接連接,然後透過商業連接進行連接VPN 提供者,然後透過您公司的內部 VPN(如果有)進行連接,然後比較結果。如果它們都相同,則可能是合法指紋。
您可以忽略變更並繼續連線。如果您在公司自己的 LAN 內進行連接,則 MITM 攻擊的可能性並不高。 (當您連接到網站時,它是否具有有效的 TLS 憑證?或者它是否在 SSH 主機金鑰更改的同時不再有效?或者它一開始就沒有有效的憑證?這可以作為MITM 攻擊與系統管理員無能的指標。
Please contact your system administrator.