Ssh
SSH 公鑰認證——總是要求使用者生成自己的密鑰對?
我今天和一個合作夥伴一起工作,我需要使用
scp
. 我在伺服器的 SSH 配置中關閉了密碼,所以我希望他們使用公鑰身份驗證。我在伺服器上為他們生成了密鑰對,並給了他們私鑰並將公鑰放在適當的authorized_keys
文件中。在他們設置工作遇到一堆問題之後,他們終於讓一位更有經驗的系統管理員參與其中,他責罵我以這種方式處理密鑰生成。他說,通過給他們一個在我的系統上生成的私鑰,我使他們能夠對同一伺服器上生成的其他密鑰進行暴力攻擊。
我什至問他*“所以,如果我在伺服器上有一個帳戶,並且我可以使用密碼登錄,但我想自動化某些東西並在該系統上生成一個密鑰對,那麼這是否會給我一個攻擊向量來暴力破解其他使用者的鑰匙?”* 他說是的。
我從來沒有聽說過這個,是真的嗎?誰能指出我對這次攻擊的討論?
嗯……不,由於系統上適當的隨機性生成,這在絕大多數情況下都是不正確的。但是,如果開發人員(在 Linux 的情況下,核心開發人員)不注意確保隨機性源是“好的”,那麼理論上伺服器可能會生成具有偏差的隨機性。如果隨機性存在偏差,則可以在比蠻力更快的時間內對伺服器密鑰執行攻擊。然而,這更像是一個理論問題,而不是實際問題——在實踐中,RNG(隨機數生成器)中的弱點比對加密軟體的旁道攻擊或獲得對伺服器的訪問權限的可能性要小得多。不同的方式。
所以,長話短說,不,他是不正確的。除了基本的加密基礎(預設情況下是否生成 DSA 密鑰?RSA?),一個 ssh 密鑰不包含有關在同一系統上生成的任何其他 ssh 密鑰的任何資訊。