Files

從私鑰中刪除密碼並設置特定的文件模式

  • April 17, 2015

如果我像這樣在我的私鑰上設置密碼:

openssl rsa -des -in insecure.key -out secure.key

我像這樣刪除密碼:

openssl rsa -in secure.key -out insecure.key

然後我的私鑰 (insecure.key) 以 644 的文件模式結束。

如何告訴 openssl 創建文件模式為 600(或其他任何值)的 insecure.key?

我知道之後我可以簡單地對文件進行 chmod,但是如果我失去連接怎麼辦?然後在文件系統上有一個任何人都可以讀取的私鑰。

您可以嘗試在轉換之前設置 umask

umask 077; openssl rsa -in secure.key -out insecure.key

編輯:為了不影響目前shell環境中的其他文件,請umask在子shell中執行設置:

( umask 077; openssl rsa -in secure.key -out insecure.key )

一種方法是先製作一個空白的 insecure.key 文件並對其進行 chmod。

touch insecure.key
chmod 600 insecure.key

這使目錄看起來像

total 28
drwxr-xr-x  2 flyte flyte 4096 Apr 17 11:44 .
drwxr-xr-x 12 flyte flyte 4096 Apr 17 11:44 ..
-rw-------  1 flyte flyte    0 Apr 17 11:44 insecure.key
-rw-------  1 flyte flyte 1746 Apr 17 11:42 secure.key

然後刪除密碼

openssl rsa -in secure.key -out insecure.key

這使目錄看起來像

total 32
drwxr-xr-x  2 flyte flyte 4096 Apr 17 11:44 .
drwxr-xr-x 12 flyte flyte 4096 Apr 17 11:44 ..
-rw-------  1 flyte flyte 1679 Apr 17 11:45 insecure.key
-rw-------  1 flyte flyte 1746 Apr 17 11:42 secure.key

但是,這有點小題大做,如果 openssl 有一個參數可以一次性做到這一點,那就更好了。

引用自:https://unix.stackexchange.com/questions/196802