gpg 金鑰管理

2021-08-06 07:34:17 字數 2851 閱讀 6635

$ gpg --list-keys

公鑰 uid, 公鑰 id

公鑰的 uid 與 id 就像人的姓名與分份證

uid 是產生 gpg 鑰匙對 時所回答的問題所決定 會有重複的情況 因此在某些需要明確 指定公鑰 的命令 需要用 而不是

使用公鑰 id 時 必須要以 0x 開頭

在指定 key 時 你可以填 下列任意乙個

$ gpg --list-secret-keys

私鑰通常只有乙個

$ gpg -a --output key.public --export

-a, --armor 輸出 ascii 純文字格式(預設是二進位制格式)

-o, --output 指定輸出檔案的檔名

—export 匯出公鑰 需指定公鑰的 uid, or id

輸出檔檔名 在搭配引數 -a 服用的情形下 可以取為 key.asc (for ascii)

gpg 預設的公鑰伺服器是 keys.gnupg.net

$ gpg --keyserver pgp.mit.edu --send-key

-–keyserver 指定公鑰伺服器

--send-key 指定欲發布公鑰的

透過上面的指令 把你的公鑰上傳到 伺服器 pgp.mit.edu

公鑰伺服器間 通過交換機制 其他公鑰伺服器會包含你的公鑰

取得公鑰的方式 有兩種

讓對方直接發給你

在公鑰伺服器上尋找

當你拿到乙個公鑰檔案 key.public 後 輸入

$ gpg --import key.public # 將 key.public 匯入本機公鑰清單

note 匯入私鑰 private.key 也是用一樣的指令

$ gpg --import private.key

搜尋公鑰 匯入本機

$ gpg --keyserver keys.gnupg.net --search-key

如果有重複的狀況 選擇符合你所要的 id, uid

如果已經知道 欲匯入公鑰的 可以跳過搜尋的步驟 輸入

$ gpg --keyserver keys.gnupg.net --recv-key 0x

$ gpg --import hello.asc

匯入 hello.asc 這個動作只是 把 hello.asc 公鑰加入到自己本機的公鑰清單

不過這樣每次操作都會提示公鑰不可信 (這是因為公鑰有可能出現冒牌貨)

每個公鑰裡都加入了指紋值 你需要進一步核對公鑰是否正確 然後簽收(sign key)它

$ gpg --fingerprint # 檢視公鑰指紋值

確認公鑰沒有問題

$ gpg --sign-key

如果匯入的公鑰有問題 刪除它

$ gpg --delete-keys

通常 你可以在網站上公布乙個公鑰指紋 讓其他人核對下載到的公鑰是否為真

比較安全的方式是 見到本人 確認身份(身分證 護照) 確認金鑰指紋 (

使用 gnupg/gpg 來簽署別人的 gpg key)

$ gpg --export-secret-keys -a keyid > my_private_key.asc

-a, --armor 輸出純文字格式(預設是二進位制格式)
當你的私鑰超過乙個的時候 下指令的時候 需要指定使用哪乙個

-u

or—local-user

在指定 key 時 你可以填 下列任意乙個

當你在使用 gpg 時 可能會希望在一台以上的電腦上使用 或是將來你會換新的電腦

你有幾個方案可以 備份 gpg 資料

第乙個方式

複製所有與 gpg 相關的檔案

unix/linux/mac: ~/.gnupg

將 ~/.gnupg 移到新的電腦上對應的位置

第二個方式

挑選你想要 匯出/備份 的公私鑰
$ gpg --export-secret-keys -a keyid > my_private_key.asc # 匯出你的私鑰 $ gpg --export -a keyid > my_public_key.asc # 匯出你的公鑰

$ gpg --import my_private_key.asc $ gpg --import my_public_key.asc

$ gpg --edit-key 《使用者 id>

你可以改變 key 的

有效期限

改變密碼短語 (passphrase)

新增乙個 subkey

編輯過後 上傳更新到 金鑰伺服器

$ gpg --keyserver pgp.mit.edu --send-keys

gnupg - archwiki

玩具烏托邦 使用 gnupg 建立你的 pgp 金鑰, 讓別人能夠私密寄信給你

moving/copying your pgp keys

gpg cheatsheet

使用 gnupg 實現電子郵件加密和數字簽名——pgp 30分鐘簡明教程(1)

gpg入門教程

Linux下GPG生成金鑰 匯出金鑰及金鑰格式轉換

1 gpg安裝 使用以下命令安裝gpg sudo yum install gnupg2 安裝monkeysphere 將金鑰轉為rsa格式時使用,不需要的可以不裝 安裝依賴包 yum install perl crypt openssl bignum yum install perl digest ...

OpenSSH 金鑰管理

openssh 金鑰管理 通用執行緒 openssh 金鑰管理,第 1 部分 在本系列文章中,您將學習 rsa 和 dsa 認證的工作原理,以及了解如何正確設定無密碼認證。在本系列的第一篇文章裡,daniel robbins 主要介紹 rsa 和 dsa 認證協議並向您展示如何在網路上應用這些協議。...

GPG入門嘗試

參考 阮一峰的網路日誌 在所附鏈結中,對大多數資訊的解釋說明已經較為詳細,在此只補充實際操作中的一些問題和解決方法 gpg decrypt demo.en.txt output demo.de.txt無法執行?可以嘗試gpg d demo.en.txt 使用者id指的是?就是生成金鑰時自己設定的名字...