支援的GPG 金鑰演算法
GitHub 支援多種GPG 金鑰演算法。 如果您嘗試新增使用不支援的演算法產生的金鑰,可能會發生錯誤。
- RSA
- ElGamal
- DSA
- ECDH
- ECDSA
- EdDSA
產生GPG 金鑰
注意
在產生新GPG 金鑰之前,請確保已驗證你的電子郵件地址。 如果尚未驗證電子郵件地址,將無法使用GPG 對提交和標記進行簽署。有關詳細信息,請參閱“驗證電子郵件地址”。
下載並安裝適用於作業系統的GPG 命令列工具。 一般來說,我們建議安裝適用於您的作業系統的最新版本。
打開Git Bash。
產生GPG 金鑰對。 由於GPG 有多個版本,因此可能需要查閱相關手冊頁來尋找對應的金鑰產生指令。
- 如果您使用的是2.1.17 或更高版本,請貼上以下文字以產生GPG 金鑰對。
Shell1
gpg --full-generate-key
- 如果使用的不是版本2.1.17 或更高版本,則
gpg --full-generate-key指令不起作用。 請貼上以下文字並跳到第6 步。
Shell1
gpg --default-new-key-algo rsa4096 --gen-key
- 如果您使用的是2.1.17 或更高版本,請貼上以下文字以產生GPG 金鑰對。
在提示時,指定要產生的金鑰類型,或按
Enter鍵接受預設值。在提示時,指定要產生的金鑰大小,或按
Enter鍵接受預設值。輸入密鑰的有效時長。 按
Enter鍵將指定預設選擇,表示該金鑰不會過期。 除非你需要過期日期,否則我們建議接受此預設值。驗證您的選擇是否正確。
輸入您的使用者ID 資訊。
注意要求你輸入電子郵件地址時,請確保輸入GitHub 帳戶的經過驗證的電子郵件地址。 若要將電子郵件地址保密,請使用GitHub 提供的
no-reply電子郵件地址。 有關詳細信息,請參閱“驗證電子郵件地址”和“設定提交電子郵件地址”。輸入安全密碼。
使用
gpg --list-secret-keys --keyid-format=long指令列出你擁有其公鑰和私鑰的長形式GPG 金鑰。 簽名提交或標記需要私鑰。
Shell1
gpg --list-secret-keys --keyid-format=long
注意
Linux 上的某些GPG 安裝可能需要改用
gpg2 --list-keys --keyid-format LONG查看現有金鑰的清單。 在這種情況下,還需要透過運行git config --global gpg.program gpg2來配置Git 以使用gpg2。從GPG 金鑰清單複製您想要使用的GPG 金鑰ID 的長形式。 在本例中,GPG 金鑰ID 為
3AA5C34371567BD2:
Shell1
2
3
4
5
6gpg --list-secret-keys --keyid-format=long
/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot <hubot@example.com>
ssb 4096R/4BB6D45482678BE3 2016-03-10貼上下面的文字(替換為您要使用的GPG 金鑰ID)。 在本例中,GPG 金鑰ID 為
3AA5C34371567BD2:
Shell1
2gpg --armor --export 3AA5C34371567BD2
Prints the GPG key ID, in ASCII armor format複製以
-----BEGIN PGP PUBLIC KEY BLOCK-----開頭並以-----END PGP PUBLIC KEY BLOCK-----結尾的GPG 金鑰。