Linux下使用GPG(GnuPG)加密及解密文件
文章目錄
- Linux下使用GPG(GnuPG)加密及解密文件
- 1. 簡介
- 2.環境及版本
- 3.GPG公鑰生成
- 4.查看公鑰
- 5.查看私鑰
- 6.導出公鑰
- 7.導出私鑰
- 8.加密文件
- 本機加密
- 其他電腦加密
- 9.解密文件
- 本機解密
- 其他電腦解密
- 10.卸載密鑰對
Linux下使用GPG(GnuPG)加密及解密文件
1. 簡介
GNU Privacy Guard(GnuPG或GPG)是一種加密軟件,它是PGP加密軟件的滿足GPL的替代物。GnuPG依照由IETF訂定的OpenPGP技術標準設計。GnuPG用于加密、數字簽名及產生非對稱鑰匙對的軟件。
2.環境及版本
系統 centos 7
內核版本:3.10.0-693.el7.x86_64
gpg版本:2.0.22
3.GPG公鑰生成
1.由于默認已經安裝GPG,故直接輸入“gpg --gen-key”并按回車鍵執行,然后輸入“1”選擇密鑰種類,然后回車。
[db4@localhost ~]$ 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? 12.詢問密鑰對位數,默認為2048,本例中手動輸入1024.
RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 10244.查看公鑰
[db4@localhost ~]$ gpg --list-key /home/db4/.gnupg/pubring.gpg ---------------------------- pub 1024R/70E8A292 2019-06-05 uid cheshi (NA) <ceshi@qq.com> sub 1024R/26A8DC48 2019-06-055.查看私鑰
[db4@localhost ~]$ gpg --list-secret-keys /home/db4/.gnupg/secring.gpg ---------------------------- sec 1024R/70E8A292 2019-06-05 uid cheshi (NA) <ceshi@qq.com> ssb 1024R/26A8DC48 2019-06-056.導出公鑰
1.命令格式
gpg -a --export 公私鑰生成的用戶 > 導出的公鑰文件路徑和文件名2.命令樣式
[db4@localhost ~]$ gpg -a --export ceshi > ceshi6666.asc 在當前的路徑下面會生成一個ceshi6666.asc的公鑰文件3.備注
將上面的這個公鑰文件ceshi6666.asc給需要加密的服務器一方即可
7.導出私鑰
1.命令格式
gpg -a --export-secret-keys 公私鑰生成的用戶 >導出的私鑰文件路徑和文件名2.命令樣式
[db4@localhost ~]$ gpg -a --export-secret-keys ceshi > scheshi6666.asc 當前路徑下面會生成一個私鑰的文件scheshi6666.asc8.加密文件
本機加密
輸入“gpg --encrypt --recipient “cheshi” 123455”命令,意為使用公鑰(名稱為cheshi)加密名稱為“123455”的文件。
[db4@localhost ~]$ gpg --encrypt --recipient "cheshi" 123455該用戶加密完畢后發現同目錄下生成一個名為“原文件名.gpg”的文件(本例中為123455.gpg)
[db4@localhost ~]$ ls 1* 123455 123455.gpg該用戶輸入“vim 123455.gpg”嘗試查看加密文件,顯示為亂碼,將此加密文件(123455.gpg)發送給給你公鑰的人。
[db4@localhost ~]$ vim 123455.gpg 84><8c>^C?í?<9e>&¨üH^A^Cy^_;<8a><86>?U^[í^L2?àé^]2Bo'_<88>"??^N^_^M^^Hì^_M<99>htH<÷T^O^U^_{e0?Dh7wA¢s^P$:<88>?*á<92>àeB÷ü|?<86>ˉ<89><99>^Wt!ê^O^Dk-^C3^ZFpT^R<8e>ó÷2ì<9e>F-fTbù′Q}ce$<98>^P!à?·{<96>?)üí<8f>xv-'<97><8f>?S?<83><8c>òq^A&ùv§??èìl?<89>T^@1′¤¥?÷????9?RD(\g?}4?êùM)e^\?J^RgOX^O^[l?vZ^S^Y<8a>X 0áü^?<8c>k?Xú&^R??^No^F^NDòí<85>?^@_só^Hê?/qE}?<80>^Pa3×^V<98>KM<88>E?^A?3?^T#^DG^Z ~其他電腦加密
導入公鑰
該用戶接收到公鑰后,在命令行輸入“gpg --import ceshi6666.asc”導入公鑰。
[db2@localhost 模板]$ gpg --import ceshi6666.asc gpg: 密鑰 70E8A292:公鑰“cheshi (NA) <ceshi@qq.com>”已導入 gpg: 合計被處理的數量:1 gpg: 已導入:1 (RSA: 1)加密文件
該用戶輸入“gpg --encrypt --recipient “cheshi” 123455”命令,意為使用公鑰(名稱為cheshi)加密名稱為“123455”的文件。 系統提示您是否確認公鑰指紋正確,在導入他人的公鑰前建議詳細核對,輸入“y”繼續。
[db2@localhost 模板]$ gpg --encrypt --recipient "cheshi" 123455 gpg: 26A8DC48:沒有證據表明這把密鑰真的屬于它所聲稱的持有者pub 1024R/26A8DC48 2019-06-05 cheshi (NA) <ceshi@qq.com> 主鑰指紋: C54E 7282 49B7 51E8 00BB DCFA B8BD F821 70E8 A292 子鑰指紋: D8ED AE06 C208 D378 E562 12B9 CFCD CF9E 26A8 DC48這把密鑰并不一定屬于用戶標識聲稱的那個人。如果您真的知道自 己在做什么,您可以在下一個問題回答 yes。無論如何還是使用這把密鑰嗎?(y/N)y該用戶加密完畢后發現同目錄下生成一個名為“原文件名.gpg”的文件(本例中為123455.gpg)
[db2@localhost 模板]$ ls 123455 123455.gpg該用戶輸入“vim 123455.gpg”嘗試查看加密文件,顯示為亂碼,將此加密文件(123455.gpg)發送給給你公鑰的人。 注意:在只有公鑰的情況下,加密后的文件無法讀取。
[db2@localhost 模板]$ vim 123455.gpg<84><8c>^C?í?<9e>&¨üH^A^C?@P?,Ló<98>^Lo<9e>^Yú^Lì??^D?6}<8b> ^W^@^E/·x^P?{^]m@YOüì,h5`^]^[?§[<86>.^XH?Z<8f>@asBê?¢?núA<98>íL×A^GìW3 L <8e>??ZyYEN??<80>?d??^_ì^O<97>?^F?AUí<8d>r3X?^C<8c>ùùê^C?^Q^BFO?¢ |p<8e>h#?vòq^ADF^_>×<8f>? 1?ìP.íSUyùV<85>L??^Pàb=^QN^R^Q??J{{CH;^\Z^\<99>1?)üe ¤"<9f>vk¢ ó,|è?6^Zqxù^_¢{O_éí<80>xa <98>@W?ù1FO<94>è?|Dáê "<9f>;?è^^<91>6"<9a>?^Y|/S<8b><8d>t99.解密文件
本機解密
輸入“gpg --decrypt 123455.gpg > 123455”將加密文件解密。提示輸入私鑰密碼,輸入正確的私鑰密碼后解密成功。
[db4@localhost ~]$ gpg --decrypt 123455.gpg > 123455You need a passphrase to unlock the secret key for user: "cheshi (NA) <ceshi@qq.com>" 1024-bit RSA key, ID 26A8DC48, created 2019-06-05 (main key ID 70E8A292)gpg: encrypted with 1024-bit RSA key, ID 26A8DC48, created 2019-06-05"cheshi (NA) <ceshi@qq.com>"其他電腦解密
導入公鑰
將私鑰導出發給需要解密的用戶,解密的用戶執行”gpg --import 私鑰名稱“,將私鑰導入電腦中
[db2@localhost 模板]$ gpg --import scheshi6666.asc gpg: 密鑰 70E8A292:私鑰已導入 gpg: 密鑰 70E8A292:“cheshi (NA) <ceshi@qq.com>”未改變 gpg: 合計被處理的數量:1 gpg: 未改變:1 gpg: 讀取的私鑰:1 gpg: 導入的私鑰:1輸入“gpg --decrypt 123455.gpg > 123455”將加密文件解密。提示輸入私鑰密碼,輸入正確的私鑰密碼后解密成功。
[db2@localhost 模板]$ gpg --decrypt 123455.gpg > 123455您需要輸入密碼,才能解開這個用戶的私鑰:“cheshi (NA) <ceshi@qq.com>” 1024 位的 RSA 密鑰,鑰匙號 26A8DC48,建立于 2019-06-05 (主鑰匙號 70E8A292)gpg: 由 1024 位的 RSA 密鑰加密,鑰匙號為 26A8DC48、生成于 2019-06-05“cheshi (NA) <ceshi@qq.com>”輸入“vim 123455”查看此文件,可正常瀏覽及編輯。
[db2@localhost 模板]$ vim 123455 dgsbvbsgf v bgsfd vxsgbf xvc bgsfd xvc s vfbxc sf xvc gbsf v ~10.卸載密鑰對
如需卸載密鑰對,輸入“gpg --delete-secret-keys cheshi”卸載私鑰(必須先卸載私鑰,然后才可卸載公鑰)。
[db2@localhost 模板]$ gpg --delete-secret-keys cheshi 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.sec 1024R/70E8A292 2019-06-05 cheshi (NA) <ceshi@qq.com>要從鑰匙環里刪除這把密鑰嗎?(y/N)y 這是一把私鑰!――真的要刪除嗎?(y/N)y繼續輸入“gpg --delete-keys cheshi”卸載公鑰。
[db2@localhost 模板]$ gpg --delete-keys cheshi 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.pub 1024R/70E8A292 2019-06-05 cheshi (NA) <ceshi@qq.com>要從鑰匙環里刪除這把密鑰嗎?(y/N)y查看,輸入”gpg --list-key“,里面為空。
[db2@localhost 模板]$ gpg --list-key總結
以上是生活随笔為你收集整理的Linux下使用GPG(GnuPG)加密及解密文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于渠道包
- 下一篇: 高新技术企业认定,知识产权核查篇