SSH 私鑰密碼片語有什麼用途?
假設您使用
ssh-keygen -t rsa -b 2048
. 你最終會得到一個公鑰和私鑰。
id_rsa
id_rsa.pub
ssh-keygen
會提示:Enter passphrase (empty for no passphrase):
我的理解是,這
id_rsa
將獲得一個質數,id_rsa.pub
並將獲得另一個質數。密碼片語的用途是什麼?私鑰是否使用密碼在本地加密?我注意到
id_rsa
文件長度比id_rsa.pub
. 這是加密的副產品嗎?是否有更多編碼數據?
這是一個加密密碼片語,可作為額外的保護措施,防止攻擊者破壞您的 PC 數據,從而在破壞後為您爭取一些時間來撤銷您的所有密鑰授權。
例如,如果您的筆記型電腦被盜,並且它正在執行、已登錄或缺少本地加密,那麼您的攻擊者將在沒有密鑰密碼的情況下立即進入您筆記型電腦的所有 SSH 伺服器是在的
authorized_keys
。(該HashKnownHosts
指令於2005 年 3 月引入,以使這個旋轉過程變得不那麼瑣碎,但是仍然可以為目的地探勘一個人的 shell 歷史、Git 儲存庫等。)它不充當任何額外的“身份驗證”,因為我相信——除了時間——伺服器甚至無法知道您的 SSH 客戶端碰巧使用了加密的密鑰庫。(當然,除非您的 IT 管理員對RMF很有創意,並聲稱通過強制 SSH 密鑰在靜態時加密來實現“雙因素身份驗證”……)
密碼片語的用途是什麼?私鑰是否使用密碼在本地加密?
密碼片語源自用於加密私鑰的對稱密鑰。它可以充當客戶端(不是最好的)第二個身份驗證因素(第一個是擁有私鑰文件),並在密鑰以某種方式洩漏時保護密鑰的機密性,例如從未加密的備份中.
我注意到 id_rsa 文件的長度比 id_rsa.pub 長很多。這是加密的副產品嗎?是否有更多編碼數據?
公鑰也附加到
id_rsa
文件中的私鑰。您可以僅使用私有文件來恢復公鑰文件。