我需要生成一個SSH密鑰對,我會跟在後面的程序工作,所以需要他們爲字符串。不幸的是,ssh-keygen
實用程序不支持將鍵寫入STDOUT或類似的東西。生成由腳本SSH密鑰對以安全的方式
所以,「退而求其次」將有ssh-keygen
它的輸出寫到臨時文件,我可以接着讀回程序。然而,這會造成系統上其他人讀取私鑰文件的風險(該腳本將由Web應用運行)。
我怎樣才能生成的方式,是安全密鑰對?
我需要生成一個SSH密鑰對,我會跟在後面的程序工作,所以需要他們爲字符串。不幸的是,ssh-keygen
實用程序不支持將鍵寫入STDOUT或類似的東西。生成由腳本SSH密鑰對以安全的方式
所以,「退而求其次」將有ssh-keygen
它的輸出寫到臨時文件,我可以接着讀回程序。然而,這會造成系統上其他人讀取私鑰文件的風險(該腳本將由Web應用運行)。
我怎樣才能生成的方式,是安全密鑰對?
沒有產生分配私有密鑰完全安全的方式;最安全的方式是讓每個客戶端生成密鑰對並僅傳輸公鑰。
但是,如果您處於一種無法正常工作的狀態,並且您致力於集中生成密鑰對,則確實有幾個選項。
有硬件安全模塊(HSM),爲你做到這一點。如果你負擔得起,這是最好的方式。
做不到這一點:
如果你確實是偏執狂,你還可以通過讓你的web應用程序使用自己的對稱密鑰來加密寫入和解密發送給用戶時,確保在磁盤上加密密鑰。然而,這樣做會讓更多的密鑰管理搞砸,所以我不推薦它。
如果您永遠不會將該密碼存儲到磁盤,在密鑰上設置密碼也會有很大幫助。如果有人設法恢復密碼保護的密鑰,他們仍然有猜測密碼的關鍵是有用的。但是,這也意味着用戶在使用密鑰時必須提供密碼 - 這可能也可能不可接受。