題 是否可能/良好做法為兩台服務器使用相同的私鑰從同一工作站/本地服務器進行無密碼登錄?


我有兩個網站。一個網站是另一個網站的克隆。當我檢查了 sshd_config 文件在兩個網站中完全相似,除了一個使用 authorized_keys 作為識別和其他用途 Known_keys 作為標識,我希望這不是問題,因為相應地定義了路徑,顯示了公鑰的位置和文件名。

我想知道為什麼我無法使用同一台機器的同一個私鑰登錄,其中兩個服務器的公鑰都已啟動。

我錯過了一些信息嗎?或者它不可能?


4
2017-07-26 17:11


起源


請嘗試學習如何將原始問題分成三個單獨的問題。詢問非常尖銳和一維的問題,比如我從你的問題中提取的問題,更有可能產生有用的答案。在一個理想的世界裡,你會創造出來的 三 SU問題,我的答案中的每個問題都有一個問題。對SU有很多問題不是問題,只要問題是好的,可回答的問題,答案是高質量和有文件記錄的。 - Horn OK Please


答案:


這個問題實際上是三個不同的問題。

問題1:

可能嗎 使用相同的密鑰對對兩個或多個服務器進行SSH訪問?

答案1:

是的,有可能,許多人(包括自我)經常這樣做。它沒有理由以任何方式局限於一台服務器。我們假設您正在談論客戶端密鑰對而不是服務器證書。客戶端密鑰對驗證 客戶,即試圖訪問SSH會話的機器。您絕對可以重新使用您的客戶端密鑰對,並且一台服務器將不再是您的密鑰對在其他服務器上使用的更明智的選擇。

問題2:

是推薦的嗎? 使用相同的密鑰對對兩個或多個服務器進行SSH訪問?

答案2:

取決於您的要求,以及您的安全計劃的嚴格程度。還有補充說 風險 使用 相同 兩個或多個遠程主機的密鑰對。這些風險是 超越 對一個主機使用密鑰對的名義風險。

獲得私鑰的任何人(以及私鑰密碼,如果適用)都可以訪問 所有 您的私鑰進行身份驗證的系統。然後,問題將導致攻擊者知道您的私鑰經過身份驗證的所有服務器的主機名,並且每個主機上的用戶帳戶認為您的公鑰是授權密鑰。這會增加您的私鑰可能造成的潛在損害  被盜。

請注意它是  如果有人獲得了認證風險 只要 您的 上市 key:對於你所關心的一切,你也可以把你的SSH公鑰放在你的主頁上。你甚至可以在你的問題中安全地發布它只是為了踢和笑,絕對沒有安全隱患。它被稱為 上市 因為某種原因。

如果您有任何理由懷疑您的私鑰是完全安全的,並且您擔心如果兩個系統都受到損害,損害會大大增加,那麼您可以創建兩個私鑰。 ,如果你將兩個私鑰存儲在同一個系統上,並且它們沒有密碼短語,相同的密碼短語或密碼短語本身存放在同一個地方(一張紙,LastPass等),然後有兩個單獨的密鑰對實際上並沒有添加任何安全性。但是,如果您使用完整磁盤加密並擁有安全性良好的客戶端系統,則私鑰和密碼被盜的風險相對較低。

順便說一句,如果您使用私鑰而沒有任何密碼,那麼您最好不要在系統上做任何價值超過幾美元的事情。如果您正在進行任何形式的公務,商業或其他方式,我認為是 絕對必要 使用強大,唯一的密碼 沒有寫下來 隨地


10
2017-07-26 17:27



感謝您的詳細解釋,這對我的理解非常有幫助。為了解決我認為的問題,我必須上傳我的 sshd_config 檔案本身。 - tough
上傳你的意思是什麼意思 sshd_config?如果你上傳了它,它需要進入/ etc / ssh目錄並覆蓋已存在的目錄。但你當然不應該存儲任何公鑰/私鑰或類似內容 sshd_config...只是確保你不認為那是該文件的目的:) - Horn OK Please
通過上傳 sshd_config,我的意思是編輯我的問題,添加關於的所有信息 sshd_config 以及你建議的一些編輯後的'ssh -v'。我需要一些像你這樣的已知用戶的建議形式,如果我在另一個問題中要求或者編輯這個問題,我不想在這裡被禁止提問,例如在[stackoverflow]中(stackoverflow.com)幾天前。 - tough


known_keys 和 authorized_keys 是完全不同的東西。

authorized_keys 文件是您必須放置與您將用於訪問服務器的私鑰匹配的公鑰的位置。它應該在您想要進入的服務器上。

known_keys 是存儲遠程服務器指紋的文件,因此您知道如果再次嘗試連接它,那麼它實際上就是您期望的服務器。這是為了防止中間人攻擊,有人可能欺騙遠程服務器的主機名或IP地址來竊取您可能提供的信息,以為您連接到正確的信息。當您嘗試連接某個新位置時,會自動創建或更新此文件,因此請注意它與SSH操作相關 客戶。如果您在服務器上看到此文件,則可能嘗試從其連接到其他位置。


8
2017-07-26 17:25



您的回答是有幫助的,並且很可能指出阻止OP成功驗證服務器的技術問題(錯誤) - 使用 known_keys 文件。我+ 1'但我希望我更長的答案總體上更有幫助,因為它包含所有三個OP隱含問題的答案。 - Horn OK Please
當然@allquixotic,謝謝。你真的花了一些時間來寫這麼全面的答案。給你+1! :) - Claudio
@Claudio謝謝,答案。現在轉向連接問題,我問過 另一個問題,有一些調試文件和 sshd_config - tough