Linux下使用GPG(GnuPG)加密及解密文件
文章目錄
- Linux下使用GPG(GnuPG)加密及解密文件
- 1. 簡(jiǎn)介
- 2.環(huán)境及版本
- 3.GPG公鑰生成
- 4.查看公鑰
- 5.查看私鑰
- 6.導(dǎo)出公鑰
- 7.導(dǎo)出私鑰
- 8.加密文件
- 本機(jī)加密
- 其他電腦加密
- 9.解密文件
- 本機(jī)解密
- 其他電腦解密
- 10.卸載密鑰對(duì)
Linux下使用GPG(GnuPG)加密及解密文件
1. 簡(jiǎn)介
GNU Privacy Guard(GnuPG或GPG)是一種加密軟件,它是PGP加密軟件的滿足GPL的替代物。GnuPG依照由IETF訂定的OpenPGP技術(shù)標(biāo)準(zhǔn)設(shè)計(jì)。GnuPG用于加密、數(shù)字簽名及產(chǎn)生非對(duì)稱鑰匙對(duì)的軟件。
2.環(huán)境及版本
系統(tǒng) centos 7
內(nèi)核版本:3.10.0-693.el7.x86_64
gpg版本:2.0.22
3.GPG公鑰生成
1.由于默認(rèn)已經(jīng)安裝GPG,故直接輸入“gpg --gen-key”并按回車鍵執(zhí)行,然后輸入“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.詢問(wèn)密鑰對(duì)位數(shù),默認(rèn)為2048,本例中手動(dòng)輸入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.導(dǎo)出公鑰
1.命令格式
gpg -a --export 公私鑰生成的用戶 > 導(dǎo)出的公鑰文件路徑和文件名2.命令樣式
[db4@localhost ~]$ gpg -a --export ceshi > ceshi6666.asc 在當(dāng)前的路徑下面會(huì)生成一個(gè)ceshi6666.asc的公鑰文件3.備注
將上面的這個(gè)公鑰文件ceshi6666.asc給需要加密的服務(wù)器一方即可
7.導(dǎo)出私鑰
1.命令格式
gpg -a --export-secret-keys 公私鑰生成的用戶 >導(dǎo)出的私鑰文件路徑和文件名2.命令樣式
[db4@localhost ~]$ gpg -a --export-secret-keys ceshi > scheshi6666.asc 當(dāng)前路徑下面會(huì)生成一個(gè)私鑰的文件scheshi6666.asc8.加密文件
本機(jī)加密
輸入“gpg --encrypt --recipient “cheshi” 123455”命令,意為使用公鑰(名稱為cheshi)加密名稱為“123455”的文件。
[db4@localhost ~]$ gpg --encrypt --recipient "cheshi" 123455該用戶加密完畢后發(fā)現(xiàn)同目錄下生成一個(gè)名為“原文件名.gpg”的文件(本例中為123455.gpg)
[db4@localhost ~]$ ls 1* 123455 123455.gpg該用戶輸入“vim 123455.gpg”嘗試查看加密文件,顯示為亂碼,將此加密文件(123455.gpg)發(fā)送給給你公鑰的人。
[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 ~其他電腦加密
導(dǎo)入公鑰
該用戶接收到公鑰后,在命令行輸入“gpg --import ceshi6666.asc”導(dǎo)入公鑰。
[db2@localhost 模板]$ gpg --import ceshi6666.asc gpg: 密鑰 70E8A292:公鑰“cheshi (NA) <ceshi@qq.com>”已導(dǎo)入 gpg: 合計(jì)被處理的數(shù)量:1 gpg: 已導(dǎo)入:1 (RSA: 1)加密文件
該用戶輸入“gpg --encrypt --recipient “cheshi” 123455”命令,意為使用公鑰(名稱為cheshi)加密名稱為“123455”的文件。 系統(tǒng)提示您是否確認(rèn)公鑰指紋正確,在導(dǎo)入他人的公鑰前建議詳細(xì)核對(duì),輸入“y”繼續(xù)。
[db2@localhost 模板]$ gpg --encrypt --recipient "cheshi" 123455 gpg: 26A8DC48:沒(méi)有證據(jù)表明這把密鑰真的屬于它所聲稱的持有者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這把密鑰并不一定屬于用戶標(biāo)識(shí)聲稱的那個(gè)人。如果您真的知道自 己在做什么,您可以在下一個(gè)問(wèn)題回答 yes。無(wú)論如何還是使用這把密鑰嗎?(y/N)y該用戶加密完畢后發(fā)現(xiàn)同目錄下生成一個(gè)名為“原文件名.gpg”的文件(本例中為123455.gpg)
[db2@localhost 模板]$ ls 123455 123455.gpg該用戶輸入“vim 123455.gpg”嘗試查看加密文件,顯示為亂碼,將此加密文件(123455.gpg)發(fā)送給給你公鑰的人。 注意:在只有公鑰的情況下,加密后的文件無(wú)法讀取。
[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.解密文件
本機(jī)解密
輸入“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>"其他電腦解密
導(dǎo)入公鑰
將私鑰導(dǎo)出發(fā)給需要解密的用戶,解密的用戶執(zhí)行”gpg --import 私鑰名稱“,將私鑰導(dǎo)入電腦中
[db2@localhost 模板]$ gpg --import scheshi6666.asc gpg: 密鑰 70E8A292:私鑰已導(dǎo)入 gpg: 密鑰 70E8A292:“cheshi (NA) <ceshi@qq.com>”未改變 gpg: 合計(jì)被處理的數(shù)量:1 gpg: 未改變:1 gpg: 讀取的私鑰:1 gpg: 導(dǎo)入的私鑰:1輸入“gpg --decrypt 123455.gpg > 123455”將加密文件解密。提示輸入私鑰密碼,輸入正確的私鑰密碼后解密成功。
[db2@localhost 模板]$ gpg --decrypt 123455.gpg > 123455您需要輸入密碼,才能解開(kāi)這個(gè)用戶的私鑰:“cheshi (NA) <ceshi@qq.com>” 1024 位的 RSA 密鑰,鑰匙號(hào) 26A8DC48,建立于 2019-06-05 (主鑰匙號(hào) 70E8A292)gpg: 由 1024 位的 RSA 密鑰加密,鑰匙號(hào)為 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.卸載密鑰對(duì)
如需卸載密鑰對(duì),輸入“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>要從鑰匙環(huán)里刪除這把密鑰嗎?(y/N)y 這是一把私鑰!――真的要?jiǎng)h除嗎?(y/N)y繼續(xù)輸入“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>要從鑰匙環(huán)里刪除這把密鑰嗎?(y/N)y查看,輸入”gpg --list-key“,里面為空。
[db2@localhost 模板]$ gpg --list-key總結(jié)
以上是生活随笔為你收集整理的Linux下使用GPG(GnuPG)加密及解密文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于渠道包
- 下一篇: 高新技术企业认定,知识产权核查篇