2009-02-28 119 views
0

我得到這個錯誤初級問題在設置SSH密鑰

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 

錯誤消息的其餘部分與here

我在我的服務器上有SSH密鑰。我在我的桌面上有我的私鑰。我不知道我該把它放在哪裏。

Add correct host key in ~/Users/Sam/.ssh/known_hosts to get rid of this message. 

我應該將我的服務器的公鑰添加到文件中嗎?

回答

2

的問題是,服務器的公鑰已經從一個使用客戶端連接的最後時間而改變,這可能暗示您試圖欺騙您連接到以某種方式僞裝成您的預期目標的服務器,以竊取您的憑據或其他惡意行爲。

如果服務器上的公鑰已經被明確地更改過,那麼這個消息也會自然發生,這可能是由於許多合法的原因發生的 - 在不遠的過去,基於Debian的Linux發行版中的漏洞需要密鑰更新對於很多人來說,例如。

如果您可以確認您正在連接到預定的目的地,並且您知道任何密鑰更改是合法的,那麼您通常可以接受密鑰更改。或者,正如消息所解釋的,您可以通過替代(安全)通道獲取服務器的公鑰,並更新客戶端的本地副本,以便再次識別服務器的憑據。

如果您不控制服務器,請聯繫執行此操作的人員或組織,並確定更改是否合法。

不要需要以任何方式修改您的私鑰;這與您的密鑰對無關。

1

如果服務器上的密鑰真的發生了變化(即,您不是中間人攻擊的受害者),最容易想到的就是從消息中獲取行號(offending key is in path/known_host:line_number),刪除這一行,登錄到服務器(並接受密鑰)。