博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gpg 金鑰管理
阅读量:4285 次
发布时间:2019-05-27

本文共 2312 字,大约阅读时间需要 7 分钟。

轉載自http://pre.tir.tw/008/blog/output/gnupg-gpg-jin-yao-guan-li.html

列出系統已有的公鑰

$ gpg --list-keys

公鑰 uid, 公鑰 id

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

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

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

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

  • key UID

  • key ID

  • key fingerprint

  • part of your name

  • part of your eamil

    在下面的敘述 命令如果需要 指定 key 時 統一以 <user-id> 表示

列出系統已有的私鑰

$ gpg --list-secret-keys

私鑰通常只有一個

匯出公鑰

$ gpg -a --output key.public --export <user-id>

-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 <user-id>

-–keyserver 指定公鑰服務器

--send-key 指定欲發布公鑰的 <user-id>

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

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

匯入公鑰

取得公鑰的方式 有兩種

  1. 讓對方直接發給你
  2. 在公鑰服務器上尋找

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

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

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

$ gpg --import private.key

公鑰伺服器

搜索公鑰 匯入本機

$ gpg --keyserver keys.gnupg.net --search-key <user-id>

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

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

$ gpg --keyserver keys.gnupg.net --recv-key 0x<user-id>

核對公鑰的指紋值 簽收公鑰

$ gpg --import hello.asc

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

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

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

$ gpg --fingerprint # 查看公鑰指紋值

確認公鑰沒有問題

$ gpg --sign-key <user-id>

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

$ gpg --delete-keys <user-id>

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

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

匯出私鑰

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

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

當你的私鑰超過一個的時候 下指令的時候 需要指定使用哪一個 <user-id>

-u <user-id>

or

—local-user <local-user>

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

  • key UID
  • key ID
  • key fingerprint
  • part of your name
  • part of your eamil

匯出/備份 你的 gpg 金鑰

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

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

第一個方式

複製所有與 gpg 相關的檔案

Unix/Linux/Mac: ~/.gnupg

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

第二個方式

挑選你想要 匯出/備份 的公私鑰

在欲匯出 gpg 金鑰的機器上

$ 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 金鑰

$ gpg --edit-key <用戶 ID>

你可以改變 key 的

有效期限

改變密碼短語 (passphrase)

新增一個 subkey

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

$ gpg --keyserver pgp.mit.edu --send-keys <user-id>

Reference

转载地址:http://hrsgi.baihongyu.com/

你可能感兴趣的文章
Js 取模运算、取商、取整方法
查看>>
NodeJs开发环境之Sublime Text3
查看>>
Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法
查看>>
ffmpeg ffplay ffprobe资料整理
查看>>
Sublime Text 插件之Emmet
查看>>
SublimeText插件之CodeFormatter
查看>>
Node.Js 全局对象与全局属性(一)
查看>>
Node.Js Path模块-文件或文件夹路径字符串操作
查看>>
Node.Js fs模块文件夹操作
查看>>
Bootstrap 弹出框modal上层的输入框不能获得焦点问题
查看>>
EF Invalid column name 'Discriminator'
查看>>
Node.Js fs模块文件操作(一)
查看>>
Node.Js fs模块操作文件(二)
查看>>
Node.Js fs模块文件操作(三)
查看>>
Node.Js url模块详解
查看>>
Node.Js util模块
查看>>
Node.Js http模块(一)-发送http请求实例
查看>>
Node.Js cheerio模块--操作/解析Html
查看>>
Node.Js cheerio模块简单API
查看>>
C# sha1加密
查看>>