Security
gpg:被使用者取消
嘗試創建 GPG 密鑰,該密鑰將用於託管在我的 Centos7 機器上的 apt 儲存庫。我創建了一個新使用者“apt”,然後嘗試創建密鑰,但在最後,它指出我需要一個密碼片語,但隨後立即關閉並說明使用者已取消。不,不是!
從那以後,我成功地重複了這些相同的步驟 root 並作為我的標準使用者名,恰好在 wheel 組中。
兩個問題:
- 將不同的 gpg 密鑰用於不同的用途(例如此 apt 儲存庫)是否是個好主意,並且是否應該將密鑰創建為 root?
- 為什麼我無法為該使用者創建 gpg 密鑰?我是否需要先為該使用者創建一些其他密鑰?
謝謝
[apt@devserver ~]$ gpg --gen-key gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) 1y Key expires at Thu 12 Jul 2018 04:32:05 PM UTC Is this correct? (y/N) y GnuPG needs to construct a user ID to identify your key. Real name: somename Email address: example@gmail.com Comment: You selected this USER-ID: "somename <example@gmail.com>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key. gpg: cancelled by user gpg: Key generation canceled. [apt@devserver ~]$
至於“被使用者取消”錯誤:GnuPG 試圖確保它直接從終端讀取密碼,而不是(例如)從標準輸入管道。為此,它會嘗試直接打開 tty。不幸的是,文件權限妨礙了 tty 設備歸您登錄的使用者所有。所以只有那個使用者和root才能打開它。GnuPG 似乎錯誤地報告了錯誤,說你取消了(實際上它被拒絕了權限)。
至於您是否應該為儲存庫設置一個單獨的密鑰:是的。有幾個原因浮現在腦海中:
- 一個儲存庫可以由多個人維護。他們都需要訪問密鑰。您顯然不想讓他們訪問您的個人密鑰。
- 處理新軟體包的軟體將需要訪問密鑰。對於許多儲存庫,這意味著您必須在連接 Internet 的機器上保留可用的密鑰。這需要比您理想的個人密鑰更低的安全級別。
- 如果您正在自動處理上傳,您甚至可能需要儲存沒有密碼的密鑰。顯然降低了安全性。
- 如果您的個人密鑰被洩露,最好只需要撤銷它。與儲存庫密鑰的妥協相同。它使撤銷受損密鑰的成本更低。
使用您的個人密鑰簽署儲存庫密鑰是很正常的。
至於以 root 身份執行密鑰生成:不理想(不要在沒有充分理由的情況下以 root 身份執行),但可能不是真正的問題。