gpg 密鑰生成、導入、導出、自動輸入密碼

      網友投稿 3300 2025-04-01

      目錄

      一、系統環境

      二、常用命令(以簽名密鑰為例)

      (1)生成密鑰

      (2)列出私鑰

      (3)列出公鑰

      (4)導出公鑰

      (5)導出私鑰

      (6)導入公鑰/私鑰

      (7)刪除公鑰

      (8)刪除私鑰

      三、在對私鑰進行操作時,避免彈窗輸入密碼

      gpg 密鑰生成、導入、導出、自動輸入密碼

      (1)直接輸入密碼

      (2)將密碼輸入到文件里

      這里總結一下 gpg 密鑰的使用,在最新的版本 2.2.x (CentOS 8)相較于之前的 2.0.x (CentOS 7)版本還是有較大的變化的,還有記錄一下自動輸入密鑰密碼的方式,雖然這種方式不提倡(不安全),但是在一些特殊情況下,比如:寫腳本執行 gpg 操作的時候,總不能每次彈框手動輸入命令吧,下面就來總結下。

      一、系統環境

      CentOS Linux release 8.0.1905 (Core)

      注意:CentOS 7 中 gpg 的版本為 2.0.x,CentOS 8 中 gpg 為 2.2.x,還是有很大變化的,比如:簽名密鑰的導入和導出都需要輸入密碼。

      二、常用命令(以簽名密鑰為例)

      (1)生成密鑰

      簡單方式:gpg --generate-key 或?--gen-key : 生成 gpg 密鑰,這種方式有一些參數是默認的;

      [root@192 ~]# gpg --gen-key

      gpg (GnuPG) 2.2.9; Copyright (C) 2018 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.

      Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

      You need a user ID to identify your key; the software constructs the user ID

      from the Real Name, Comment and Email Address in this form:

      "Heinrich Heine (Der Dichter) "

      真實姓名:temp-key

      電子郵件地址:temp-key@163.com

      您選定了這個用戶標識:

      “temp-key

      Change (N)ame, (E)mail, or (O)kay/(Q)uit? O

      我們需要生成大量的隨機字節。這個時候您可以多做些瑣事(像是敲打鍵盤、移動

      鼠標、讀寫硬盤之類的),這會讓隨機數字發生器有更好的機會獲得足夠的熵數。

      我們需要生成大量的隨機字節。這個時候您可以多做些瑣事(像是敲打鍵盤、移動

      鼠標、讀寫硬盤之類的),這會讓隨機數字發生器有更好的機會獲得足夠的熵數。

      gpg: 密鑰 AB38BACE635A064C 被標記為絕對信任

      gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/6C8A15CECD3DCC2741A7C590AB38BACE635A064C.rev'

      公鑰和私鑰已經生成并經簽名。

      pub rsa2048 2020-07-27 [SC] [有效至:2022-07-27]

      6C8A15CECD3DCC2741A7C590AB38BACE635A064C

      uid temp-key

      sub rsa2048 2020-07-27 [E] [有效至:2022-07-27]

      [root@192 ~]#

      詳細的方式:gpg?--full-gen-key 或 --full-generate-key : 生成gpg密鑰,有詳細的配置參數;

      [root@localhost ~]# gpg --full-generate-key

      gpg (GnuPG) 2.2.9; Copyright (C) 2018 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.

      請選擇您要使用的密鑰種類:

      (1) RSA and RSA (default)

      (2) DSA and Elgamal

      (3) DSA (僅用于簽名)

      (4) RSA (僅用于簽名)

      您的選擇? 4

      RSA 密鑰長度應在 1024 位與 4096 位之間。

      您想要用多大的密鑰尺寸?(2048)

      您所要求的密鑰尺寸是 2048 位

      請設定這把密鑰的有效期限。

      0 = 密鑰永不過期

      = 密鑰在 n 天后過期

      w = 密鑰在 n 周后過期

      m = 密鑰在 n 月后過期

      y = 密鑰在 n 年后過期

      密鑰的有效期限是?(0) 0

      密鑰永遠不會過期

      以上正確嗎?(y/n)y

      You need a user ID to identify your key; the software constructs the user ID

      from the Real Name, Comment and Email Address in this form:

      "Heinrich Heine (Der Dichter) "

      真實姓名:Search2016

      電子郵件地址:Search2016@163.com

      注釋:Search2016

      您選定了這個用戶標識:

      “Search2016 (Search2016)

      更改姓名(N)、注釋(C)、電子郵件地址(E)或確定(O)/退出(Q)?O

      我們需要生成大量的隨機字節。這個時候您可以多做些瑣事(像是敲打鍵盤、移動

      鼠標、讀寫硬盤之類的),這會讓隨機數字發生器有更好的機會獲得足夠的熵數。

      gpg: 密鑰 894EC1384177F643 被標記為絕對信任

      gpg: directory '/root/.gnupg/openpgp-revocs.d' created

      gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/00BF891AC03B546DE9FCEDDC894EC1384177F643.rev'

      公鑰和私鑰已經生成并經簽名。

      請注意這把密鑰還不能用來加密,您必須先用“--edit-key”指令

      生成用于加密的子鑰。

      pub rsa2048 2020-07-26 [SC]

      00BF891AC03B546DE9FCEDDC894EC1384177F643

      uid Search2016 (Search2016)

      [root@localhost ~]#

      (2)列出私鑰

      gpg -K 或 --list-secret-keys : 查看私鑰,參數后面沒有指定私鑰,則輸出所有私鑰;

      [root@192 ~]# gpg -K

      /root/.gnupg/pubring.kbx

      ------------------------

      sec rsa2048 2020-07-27 [SC]

      8AC0AB86C34ADC6ED110A5A9E6730F4374866065

      uid [ 絕對 ] Search2016 (Search2016)

      (3)列出公鑰

      gpg -k 或 --list-public-keys : 查看公鑰,參數后面沒有指定公鑰,則輸出所有公鑰;

      [root@192 ~]# gpg -k

      /root/.gnupg/pubring.kbx

      ------------------------

      pub rsa2048 2020-07-27 [SC]

      8AC0AB86C34ADC6ED110A5A9E6730F4374866065

      uid [ 絕對 ] Search2016 (Search2016)

      (4)導出公鑰

      gpg -a -o public-file.key --export keyId : 導出公鑰keyId 到 文件 public-file.key中;

      其中:

      -a 為 --armor 的簡寫,表示密鑰以ASCII的形式輸出,默認以二進制的形式輸出;

      -o 為 --output 的簡寫,指定寫入的文件;

      [root@192 ~]# gpg -a -o public-file.key --export 8AC0AB86C34ADC6ED110A5A9E6730F4374866065

      (5)導出私鑰

      gpg -a -o private-file.key --export-secret-keys keyId :?導出私鑰 keyId 到文件 private-file.key中,導出的時候需要輸入密鑰密碼;

      其中,導出私鑰需要輸入保護私鑰的密碼;

      [root@192 ~]# gpg -a -o private-file.key --export-secret-keys 8AC0AB86C34ADC6ED110A5A9E6730F4374866065

      (6)導入公鑰/私鑰

      gpg --import public-file.key / private-file.key : 導入公鑰或私鑰,其中,導入私鑰需要輸入保護私鑰的密碼;

      [root@192 ~]# gpg --import public-file.key

      gpg: 密鑰 E6730F4374866065:公鑰“Search2016 (Search2016) ”已導入

      gpg: 合計被處理的數量:1

      gpg: 已導入:1

      [root@192 ~]# gpg -k

      /root/.gnupg/pubring.kbx

      ------------------------

      pub rsa2048 2020-07-27 [SC]

      8AC0AB86C34ADC6ED110A5A9E6730F4374866065

      uid [ 未知 ] Search2016 (Search2016)

      [root@192 ~]# gpg --import private-file.key

      gpg: 密鑰 E6730F4374866065:“Search2016 (Search2016) ”未改變

      gpg: 密鑰 E6730F4374866065:私鑰已導入

      gpg: 合計被處理的數量:1

      gpg: 未改變:1

      gpg: 讀取的私鑰:1

      gpg: 導入的私鑰:1

      [root@192 ~]#

      (7)刪除公鑰

      gpg?--delete-keys keyId : 刪除公鑰;

      [root@192 ~]# gpg --delete-keys 6C8A15CECD3DCC2741A7C590AB38BACE635A064C

      (8)刪除私鑰

      gpg --delete-secret-keys : 刪除私鑰;

      [root@192 ~]# gpg --delete-secret-keys 6C8A15CECD3DCC2741A7C590AB38BACE635A064C

      三、在對私鑰進行操作時,避免彈窗輸入密碼

      gpg 在新的版本中,在對私鑰進行操作的時候(簽名、導入等)需要輸入密鑰的密碼,但是有時候我們并不希望彈框輸入密碼,更希望是通過腳本等方式執行 gpg 的一些操作,方法如下:

      (1)直接輸入密碼

      gpg --import? --pinentry-mode?loopback --batch?--passphrase password? private-file.key

      [root@localhost ~]# gpg --import --pinentry-mode loopback --batch --passphrase 123456 private-file.key

      gpg: 密鑰 E6730F4374866065:“Search2016 (Search2016) ”未改變

      gpg: 密鑰 E6730F4374866065:私鑰已導入

      gpg: 合計被處理的數量:1

      gpg: 未改變:1

      gpg: 讀取的私鑰:1

      gpg: 導入的私鑰:1

      [root@localhost ~]#

      (2)將密碼輸入到文件里

      gpg --import? --pinentry-mode?loopback --batch?--passphrase-file password-file? private-file.key

      [root@localhost ~]# gpg --import --pinentry-mode loopback --batch --passphrase-file password-file private-file.key

      gpg: 密鑰 E6730F4374866065:“Search2016 (Search2016) ”未改變

      gpg: 密鑰 E6730F4374866065:私鑰已導入

      gpg: 合計被處理的數量:1

      gpg: 未改變:1

      gpg: 讀取的私鑰:1

      gpg: 導入的私鑰:1

      [root@localhost ~]#

      文件? password-file 第一行為設置的密碼,這兩種方式都不提倡使用,如果真要使用建議使用第二中。

      Linux

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何使Word2013文檔表格中的字符間距自動適應單元格大?。ㄔ趺纯刂苭ord表格中內容的字符間距)
      下一篇:Excel如何一鍵美化表格?(怎么一鍵美化表格)
      相關文章
      亚洲av无码片在线观看| 精品日韩亚洲AV无码| 亚洲欧洲春色校园另类小说| 久久精品亚洲福利| www亚洲精品少妇裸乳一区二区| 亚洲熟妇AV一区二区三区宅男| 亚洲第一成人在线| 亚洲伊人久久大香线蕉在观| avtt天堂网手机版亚洲| 亚洲伦理中文字幕| 亚洲综合一区二区三区四区五区| 亚洲一区二区三区高清不卡 | 亚洲日本国产乱码va在线观看| 亚洲日本一区二区三区| 亚洲国产一区二区三区青草影视| 久久久久亚洲Av片无码v| 久久青青草原亚洲av无码app | 亚洲黄色网站视频| 亚洲宅男天堂a在线| 亚洲中文字幕久在线| 在线aⅴ亚洲中文字幕| 亚洲精品亚洲人成在线| 在线观看免费亚洲| 在线亚洲精品福利网址导航| 亚洲中文字幕在线第六区| 亚洲精品国产精品乱码不99 | 亚洲色大成WWW亚洲女子| 亚洲av无码专区亚洲av不卡| jjzz亚洲亚洲女人| 国产成人精品曰本亚洲79ren| 自拍偷自拍亚洲精品情侣| 亚洲不卡av不卡一区二区| 亚洲第一页在线观看| 中国china体内裑精亚洲日本| 亚洲第一综合天堂另类专 | 亚洲天堂中文字幕在线观看| 国产精品亚洲综合五月天| 日韩亚洲人成在线| 久久久久久久久无码精品亚洲日韩| 亚洲国产成人五月综合网| 亚洲熟妇中文字幕五十中出|